如果退出应用程序,Android复选框的保存状态



我有5个复选框,当它们被点击时,它们在一个抽象类中使用onCheckedChangeListener设置一个布尔值为true或false。例子:

checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
            @Override
            public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) 
            {
                if(isChecked)
                {
                    CheckboxData.checked = true;
                }
                else if(!isChecked)
                {
                    CheckboxData.checked = false;
                }
            }
        });

然而,当我离开应用程序并返回复选框不再点击,但布尔值仍然为真。我怎样才能使应用程序记住复选框被点击?我应该只是检查布尔值在主活动onCreate和设置复选框复选或不然后或有一个更好/更快的方法,使应用程序记住复选框状态?

刚刚在主活动的onCreate方法中添加了这个:

      if(CheckboxData.checked)
    {
        CheckBox checkbox = (CheckBox) findViewById(R.id.checkbox);
        checkbox.setChecked(true);
    }

但是它什么也没做

Activity得到destroyed时,检查复选框状态是否为true,并在shared Preference中添加复选框状态

     @Override
    public void onDestroy() {
    if(CheckboxData.checked){
     SharedPreferences prefs = getSharedPreferences("private preference", Context.MODE_PRIVATE);
            prefs.edit()
                .putBoolean("CheckboxData",true)
                .commit();
   }
    super. onDestroy();
   }

Activity启动时,在onCreate中优先检查复选框状态,如果为真,则启用复选框

  SharedPreferences prefs = getSharedPreferences("private preference", Context.MODE_PRIVATE);
  boolean isChecked = prefs.getBoolean("CheckboxData",false);
  if(isChecked)
  checkBoxView.setChecked(true) 

相关内容

  • 没有找到相关文章