Итак, я нахожусь в Доме, которая имеет:
setContentView(R.layout.home);
Теперь из домашней активности можно перейти к настройкам, в котором есть:
setContentView(R.layout.settings);
В нем есть несколько CheckBoxes и EditTexts.
Можно ли изменить состояние этих флажков из Домашней активности?
Я уже объявил их в Доме следующим образом:
CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
Который находит идентификатор просто прекрасным, но приложение выходит из строя на линии, где я пытаюсь
checkBox1.setChecked(true);
Невозможно ли получить доступ к нему из другого вида деятельности?
спасибо
В общем, действие не может напрямую изменять элементы представления другой деятельности, поскольку Android не дает никаких гарантий относительно жизненного цикла каждого вида деятельности. Активность A может вызывать действие B, но если память работает на низком уровне, пока отображается B, A может быть уничтожен.
Вам нужно будет использовать намерения передавать данные из одной активности в другую.
передавать данные между действиями
например: 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");
^^^^