Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Лис3
2 / 2 / 0
Регистрация: 28.04.2012
Сообщений: 79
1

Можно ли activity_main.xml изменить через MainActivity.java?

05.03.2018, 22:01. Просмотров 623. Ответов 9
Метки нет (Все метки)

Я б поискал в гугле, но я даже не знаю как сформулировать вопрос.

Мне нужно по нажатию на кнопку в соседнем activiti менялось название кнопок. И программа запоминала текст в текстовых полях.
может ли MainActivity.java менять содержимое activiti_main.xml?
Если да то дайте пару ссылок как это сделать.
Если нет то подскажите как бы вы это сделали (только пожалуйста, подсказываете не очень туманно, я не понимаю намеков)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2018, 22:01
Ответы с готовыми решениями:

Ошибка activity_main.xml: java.lang.System.arraycopy([CI[CII)V
При перетягивании из Text Field любой виюшки появляется Error activity_main.xml:...

<string> в XML возвращает INT в activity_main
В XML recources/string строка: &lt;string name=&quot;URLsrc&quot;&gt;https://api.myjson.com/bins/2wgmq&lt;/string&gt;...

Android Studio, файл activity_main.xml
здесь понятно это название приложения package com.example.user.myapplication; здесь понятно это...

The activity 'MainActivity' is not declared in AndroidManifest.xml
В Android Studio перестал запускаться проект. Пишет &quot;The activity 'MainActivity' is not declared...

Не создается MainActivity.java
Подскажите почему не создается форма по умолчанию?

9
iSmokeJC
Модератор
Эксперт Java
3281 / 1663 / 724
Регистрация: 21.10.2017
Сообщений: 5,080
06.03.2018, 07:19 2
Лис3, Если менять на работающей активности, то, как правило, все просто - Как обычно, присваиваешь кнопке id, присваиваешь ее переменной btn1 = (Button)findViewById(R.id.bt1); далее в обработчике событий кнопки - btn1.setText("NewButton");
А если в другой активности - можно написать отдельный метод замены текстов нескольких кнопок, например, changeButtonTexts и вызывать его когда нужно и откуда нужно. Проще вроде некуда.
1
Лис3
2 / 2 / 0
Регистрация: 28.04.2012
Сообщений: 79
11.03.2018, 02:44  [ТС] 3
btn1.setText("NewButton"); а точнее frendTel.setText("sssss");
frendTel подсветил красным. Типа нет такого поля.

Может его прописать куда то нужно...
0
Mail-up
30 / 28 / 8
Регистрация: 07.01.2017
Сообщений: 205
11.03.2018, 07:00 4
Может для начало надо увидеть что там происходит
0
11.03.2018, 07:00
iSmokeJC
Модератор
Эксперт Java
3281 / 1663 / 724
Регистрация: 21.10.2017
Сообщений: 5,080
11.03.2018, 08:21 5
Цитата Сообщение от Лис3 Посмотреть сообщение
Может его прописать куда то нужно...
Его однозначно прописать куда-то нужно
Mail-up правильно говорит, телепатов не, приведи здесь свой класс, в котором ошибка.
0
Лис3
2 / 2 / 0
Регистрация: 28.04.2012
Сообщений: 79
13.03.2018, 10:31  [ТС] 6
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.example.storm.myapplication;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import java.text.CollationElementIterator;
 
public class settingsActivity extends AppCompatActivity {
 
    final String frendTelnam = "0000"; // а это вообще логично? создал константу. Присвоил ей значение. Изменил значение константы ed.putString("frendTelnam", "55555");
    
    @Override
    protected void onStart() {
        // код выполняется в момент запуска. Жизненый цыкл активити. http://www.fandroid.info/zapusk-deyatelnosti/
        super.onStart();
 
        Toast.makeText(this, frendTelnam, Toast.LENGTH_SHORT).show();
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
    }
 
    public  void seveDataSettings(View view) {
        Toast.makeText(this, "сохраняется2", Toast.LENGTH_SHORT).show();
        //Toast.makeText(this, frendTel.getText().toString(), Toast.LENGTH_SHORT).show();
 
 
        SharedPreferences sPref = getPreferences(MODE_PRIVATE); //Сначала с помощью метода getPreferences получаем объект sPref класса SharedPreferences, который позволяет работать с данными (читать и писать). Константа MODE_PRIVATE используется для настройки доступа и означает, что после сохранения, данные будут видны только этому приложению
        SharedPreferences.Editor ed = sPref.edit(); // чтобы редактировать данные, необходим объект Editor – получаем его из sPref.
        ed.putString("frendTelnam", "55555");
        frendTel.setText("sssss"); //ВЫВЕСТИ В ТЕКСТОВОЕ ПОЛЕ КОД. НО ПРОГРАММА НЕ ВИДИТ САМО ТЕКСТОВОЕ ПОЛЕ
        //ed.putString("SAVED_TEXT", frendTel.getText().toString()); // В метод putString указываем наименование переменной – это константа SAVED_TEXT, и значение – содержимое поля etText
        ed.commit(); //Чтобы данные сохранились, необходимо выполнить commit.
        Toast.makeText(this, "Text saved", Toast.LENGTH_SHORT).show();
    }
}
Добавлено через 41 минуту
Лучше так.
Так выглядит проще, легче разобраться будет. Я и 1 варианте много чего "накрутил"

он и кнопки и текстовые поля не видит
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.example.storm.myapplication;
 
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
 
import java.text.CollationElementIterator;
 
public class settingsActivity extends AppCompatActivity {
    public String frendTelVar;
    protected void onStart() {
        super.onStart();
        frendTelnam.setText(frendTelVar);
    }
    public  void seveDataSettings(View view) {
        SharedPreferences sPref = getPreferences(MODE_PRIVATE); //Сначала с помощью метода getPreferences получаем объект sPref класса SharedPreferences, который позволяет работать с данными (читать и писать). Константа MODE_PRIVATE используется для настройки доступа и означает, что после сохранения, данные будут видны только этому приложению
        SharedPreferences.Editor ed = sPref.edit(); // чтобы редактировать данные, необходим объект Editor – получаем его из sPref.
        ed.putString("frendTelVar", frendTel.getText());
        //ed.putString("SAVED_TEXT", frendTel.getText().toString()); // В метод putString указываем наименование переменной – это константа SAVED_TEXT, и значение – содержимое поля etText
        ed.commit(); //Чтобы данные сохранились, необходимо выполнить commit.
        Toast.makeText(this, "Text saved", Toast.LENGTH_SHORT).show();
    }
}
0
ExFau$t
956 / 757 / 225
Регистрация: 08.05.2012
Сообщений: 3,605
13.03.2018, 11:38 7
Цитата Сообщение от Лис3 Посмотреть сообщение
он и кнопки и текстовые поля не видит
Потому что их там нет.
Уроки надо проходить с самого начала.

Не по теме:

Цитата Сообщение от Лис3 Посмотреть сообщение
цыкл

0
Лис3
2 / 2 / 0
Регистрация: 28.04.2012
Сообщений: 79
13.03.2018, 11:57  [ТС] 8
"цыкл" - что цыкл? я где то while должен поставить? слишком "размыто"

"Уроки надо проходить с самого начала. " Я по статям. какой именно урок? какого курса? слишком "размыто"
0
Pablito
2862 / 2274 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
13.03.2018, 12:01 9
тебе еще в первом сообщении написали что надо искать нужные вьюшки через findViewById
в твоем коде нет ни одной такой строчки, ты слепой что ли?

"цикл" пишется через И, тебе на это намекают выше
1
ExFau$t
956 / 757 / 225
Регистрация: 08.05.2012
Сообщений: 3,605
13.03.2018, 12:54 10
Любой онлайн-курс по программированию на android с самого начала. Даже новый проект в студии даёт рабочее приложение с инициализацией всяких вьюх, а твой код не имеет ничего общего с реальностью, объяснять тут целый день нужно.
Вот ещё тема, может там найдёшь уроки.
0
13.03.2018, 12:54
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2018, 12:54

Изменить переменную из класса MainActivity в классе MainRenderer
Ребята подскажите пожалуйста, у менять есть два файла: MainActivity.java import...

Можно ли убрать автоматическую поправку элементов управления на на mainactivity
Можно ли убрать автоматическую поправку элементов управления на на mainactivity? А то хочу...

Загрузка информации через AsyncTask и возврат ее в mainactivity
Здравствуйте. Задача вроде проста, а ничего не получается) мне необходим класс, который по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.