Android 使用SharedReferences保存复选框状态
如何在活动B中保存复选框状态,以便在返回到活动a时显示适当的响应Android 使用SharedReferences保存复选框状态,android,eclipse,Android,Eclipse,如何在活动B中保存复选框状态,以便在返回到活动a时显示适当的响应 我正在尝试创建这样一个函数,即当活动B中的复选框状态被选中时,它将返回到a并播放音乐,并且此首选项将被保存,这样当应用程序被终止并重新启动时,首选项将保持不变。您可以在SharedReferences中保存布尔值。这里有明确的解释:在活动B上,您需要根据复选框状态设置首选项 在活动A中,您需要获得以下首选项值 SharedPreferences sharedPref = context.getSharedPreferences("
我正在尝试创建这样一个函数,即当活动B中的复选框状态被选中时,它将返回到a并播放音乐,并且此首选项将被保存,这样当应用程序被终止并重新启动时,首选项将保持不变。您可以在SharedReferences中保存布尔值。这里有明确的解释:在活动B上,您需要根据复选框状态设置首选项 在活动A中,您需要获得以下首选项值
SharedPreferences sharedPref = context.getSharedPreferences("mypref", Context.MODE_PRIVATE);
boolean isChecked = sharedPref.getBoolean("checked", false); // false if it's not exist
在活动B中实现OnSharedPreferenceChangeListener并重写onSharedPreferenceChanged方法 这是我的密码
@Override
public void onSharedPreferenceChanged(SharedPreferences preferences,String arg1) {
// TODO Auto-generated method stub
preferences = PreferenceManager.getDefaultSharedPreferences(this);
checkbox = preferences.getBoolean("checkbox", false);
if(checkbox){
//Do your stuff here like playing music
Log.d("checkbox", "check enabled");
Intent myIntent = new Intent(ActivityB.this, ActivityA.class);
startActivity(myIntent);
}
在一个有很多复选框的RecyclerView中,这将如何工作?您可以为每个项目设置不同的键。例如,您可以使用项目位置作为follow>editor.putBooleanchecked+position,isChecked;当你得到这个值时也是一样的
@Override
public void onSharedPreferenceChanged(SharedPreferences preferences,String arg1) {
// TODO Auto-generated method stub
preferences = PreferenceManager.getDefaultSharedPreferences(this);
checkbox = preferences.getBoolean("checkbox", false);
if(checkbox){
//Do your stuff here like playing music
Log.d("checkbox", "check enabled");
Intent myIntent = new Intent(ActivityB.this, ActivityA.class);
startActivity(myIntent);
}