2014-02-04 3 views
0

У меня есть 3 Activities, пусть ActivityA является основным Activity из которого B и CActivities называются. B - Activity с настройками и C - Activity с основными действиями. Мне нужно реализовать ToggleButton в B, который отвечает за вибрацию устройства после нажатия кнопок в C. Таким образом, необходимо подключить B и C. При использовании Intent необходимо вызвать метод StartActivity (Intent)/StartActivityForResult (Intent). Из этого следует, что при нажатии ToggleButton в BC будет вызываться B. И мне это не нужно. Мне нужно, чтобы при нажатии ToggleButton «что-то» было запомнено «где-то», а затем, когда вызвано C, это будет причиной вибрации устройства. Как решить эту проблему?Деятельность взаимодействия

+0

Если вам нужно значение, которое необходимо сохранить, используйте sharedPreference. Кроме того, вы можете использовать статические переменные. Проверьте это http://www.infoq.com/presentations/Android-Design –

+0

Проверьте эту ссылку http://stackoverflow.com/questions/12189476/public-static-variables-and-android-activity-life-cycle-management –

ответ

1

Вы можете использовать SharedPreferences для хранения некоторых состояний, например:

SharedPreferences prefs = getSharedPreferences("myprefs", Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = prefs.edit(); 

editor.putString("key_string", "jack"); 
editor.putInt("key_int", 30); 
editor.putBoolean("vibrator", false); 

editor.commit(); 

Тогда вы можете прочитать его, когда вам это нужно:

SharedPreferences prefs = getSharedPreferences("myprefs", Context.MODE_PRIVATE); 

String name = prefs.getString("key_string", "defaultName"); 
int age = prefs.getInt("key_int", 25); 
boolean vib = prefs.getBoolean("vibrator", true); 

В основном, SharedPreferences хранения пар ключ-значение. Узнайте больше о них here и here.

+0

Большое спасибо! –

1

SharedPreferences, вероятно, лучший способ справиться с этим. В Activity B создайте SharedPreferences для вибросигнала, установите для булевого значения «true» при нажатии переключателя, а затем в Activity C проверьте SharedPreferences для указанного значения и действуйте соответствующим образом.

+0

Большое вам спасибо! –

Смежные вопросы