Изменить CheckBox и EditText, расположенный в другом файле XML

1

Итак, я нахожусь в Доме, которая имеет:

setContentView(R.layout.home);

Теперь из домашней активности можно перейти к настройкам, в котором есть:

setContentView(R.layout.settings);

В нем есть несколько CheckBoxes и EditTexts.

Можно ли изменить состояние этих флажков из Домашней активности?

Я уже объявил их в Доме следующим образом:

CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);

Который находит идентификатор просто прекрасным, но приложение выходит из строя на линии, где я пытаюсь

checkBox1.setChecked(true);

Невозможно ли получить доступ к нему из другого вида деятельности?

спасибо

  • 0
    это означает, что вы должны отправить некоторые данные к следующему действию правильно ??
  • 0
    @Rashmi Я хотел избежать этого, но поскольку люди до сих пор отвечали, что невозможно изменить значения других файлов XML, мне придется отправить данные другому действию, которое фактически использует файл XML, и затем это действие будет применить значения :)
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

В общем, действие не может напрямую изменять элементы представления другой деятельности, поскольку Android не дает никаких гарантий относительно жизненного цикла каждого вида деятельности. Активность A может вызывать действие B, но если память работает на низком уровне, пока отображается B, A может быть уничтожен.

Вам нужно будет использовать намерения передавать данные из одной активности в другую.

  • 0
    Благодарю. это альтернативное решение было у меня в голове, но я подумал, что мне будет гораздо проще
  • 0
    Он должен был иметь возможность редактировать XML-файл ДО отображения. В моем случае он мог бы добавить / удалить атрибут «android: checked =« false »этого конкретного идентификатора.
1

передавать данные между действиями

например: Main.java

Intent i = new Intent(Home.this,Setting.class);
i.putExtra("check","true"); <-------- set valuse here
            ^^^^    ^^^^
startActivity(i);

и в Setting.java

String str = getIntent().getExtras().getString("check");
                                                 ^^^^
  • 0
    Да, спасибо за совет, я просто смотрю, возможно ли это таким образом.
  • 1
    Ооо ... извините но обряд вы не можете получить доступ к значениям, как вы говорите ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню