我有3 Activities
,Activity
A
是主Activity
B
和C
Activities
叫做。 B
Activity
设置为C
,Activity
为ToggleButton
主要操作。我需要在B
中实现C
,这是B
按下按钮后设备是否会振动的原因。因此,有必要连接C
和StartActivity (Intent)/StartActivityForResult (Intent)
。如果使用Intent,则需要调用ToggleButton
方法。由此可见,在B
中按C
时,B
将调用ToggleButton
。而且我没必要。我需要按下C
“某些东西”被记住“某处”,然后当{{1}}被调用时,它将导致设备振动。如何解决这个问题?
答案 0 :(得分:1)
SharedPreferences可能是处理此问题的最佳方法。在Activity B
为vibrate创建SharedPreferences,在按下切换时设置为布尔值“true”,然后在Activity C
中检查SharedPreferences以获取所述值并采取相应的行动。
答案 1 :(得分: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);