Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用SharedReferences保存复选框状态_Android_Eclipse - Fatal编程技术网

Android 使用SharedReferences保存复选框状态

Android 使用SharedReferences保存复选框状态,android,eclipse,Android,Eclipse,如何在活动B中保存复选框状态,以便在返回到活动a时显示适当的响应 我正在尝试创建这样一个函数,即当活动B中的复选框状态被选中时,它将返回到a并播放音乐,并且此首选项将被保存,这样当应用程序被终止并重新启动时,首选项将保持不变。您可以在SharedReferences中保存布尔值。这里有明确的解释:在活动B上,您需要根据复选框状态设置首选项 在活动A中,您需要获得以下首选项值 SharedPreferences sharedPref = context.getSharedPreferences("

如何在活动B中保存复选框状态,以便在返回到活动a时显示适当的响应


我正在尝试创建这样一个函数,即当活动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);


             }