Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Java 如果复选框已选中,如何存储?_Java_Android_Checkbox - Fatal编程技术网

Java 如果复选框已选中,如何存储?

Java 如果复选框已选中,如何存储?,java,android,checkbox,Java,Android,Checkbox,如果勾选了“不再显示”复选框,则我有一个活动不必再显示,但我不知道如何使其工作 这是我迄今为止一直在尝试的: public class PopUpInfoActivity extends Activity { static final String PREFS = "preference_file"; @Override public void onCreate(Bundle state){ super.onCreate(state); setContentView(R.lay

如果勾选了“不再显示”复选框,则我有一个活动不必再显示,但我不知道如何使其工作

这是我迄今为止一直在尝试的:

public class PopUpInfoActivity extends Activity {
static final String PREFS = "preference_file";

@Override
public void onCreate(Bundle state){
    super.onCreate(state);
    setContentView(R.layout.popupinfo_layout);


    CheckBox chk = (CheckBox) findViewById(R.id.dontshow_checkbox);
    chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));

    chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            //store isChecked to Preferences
            SharedPreferences settings = getSharedPreferences(PREFS,0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putBoolean("isChecked", false);

            PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).apply();
        }
    });
}
这段代码仍然不起作用,因为如果我选中复选框并终止并重新启动应用程序,活动仍然会出现,我如何才能使其工作


我真的很感激任何帮助

将此用于设置复选框值

chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));
用于获取复选框值。

chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
          //store isChecked value in shareprefernce

          PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).commit();
       }
   }
); 

享受编码。

使用此选项设置复选框值

chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));
用于获取复选框值。

chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
          //store isChecked value in shareprefernce

          PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).commit();
       }
   }
); 

享受编码。

您需要正确使用首选项

写下来: 读一下
您需要正确使用首选项

写下来: 读一下
您在哪里向SharedReferences写入内容?您需要在某些时候写入首选项。。。否则逻辑是否不正确…您在哪里写入SharedReferences?您需要在某些时候写入首选项。。。否则逻辑就不正确了…谢谢你的回答!我已经试过了,但在
PreferenceManager.getDefaultSharedReferences(this.edit().putBoolean(“value”,isChecked.apply())中出现错误
上的code>说明:不兼容的类型:无法转换为contextase
ClassName。此
而不是
感谢您修复了它,但出现了另一个错误<代码>尝试在空对象引用上调用虚拟方法“void android.widget.CheckBox.setChecked(boolean)”
。我将用我现在得到的编辑代码,首先像这样绑定它
CheckBox chk=(CheckBox)findviewbyd(R.id.dontshow\u CheckBox)然后使用我们。谢谢您的回答!我已经试过了,但在
PreferenceManager.getDefaultSharedReferences(this.edit().putBoolean(“value”,isChecked.apply())中出现错误
上的code>说明:不兼容的类型:无法转换为contextase
ClassName。此
而不是
感谢您修复了它,但出现了另一个错误<代码>尝试在空对象引用上调用虚拟方法“void android.widget.CheckBox.setChecked(boolean)”
。我将用我现在得到的编辑代码,首先像这样绑定它
CheckBox chk=(CheckBox)findviewbyd(R.id.dontshow\u CheckBox)然后使用我们。