保存多个复选框的状态 - Android

时间:2014-03-31 12:31:51

标签: android checkbox

我可以保存单一复选框的状态但是如何在我的活动中保存所有五个复选框?

  checkBox = (CheckBox) findViewById(R.id.checkBox1);

    boolean isChecked = getBooleanFromPreferences("isChecked");
    Log.i("start",""+isChecked);
    checkBox.setChecked(isChecked);
    checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton view, boolean isChecked) {
            Log.i("boolean",""+isChecked);
            Settings.this.putBooleanInPreferences(isChecked,"isChecked");
        }
    });
}
public void putBooleanInPreferences(boolean isChecked,String key){
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean(key, isChecked);
    editor.commit();        
}
public boolean getBooleanFromPreferences(String key){
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
    Boolean isChecked = sharedPreferences.getBoolean(key, false);
    return isChecked;       

3 个答案:

答案 0 :(得分:0)

使用Arraylist存储所有复选框的状态

答案 1 :(得分:0)

每个人都有不同的名字。并记住钥匙首先不是价值。每次使用不同的名称调用您的保存方法

答案 2 :(得分:0)

对于第二个复选框,请执行以下操作

 boolean isCheckedTwo = getBooleanFromPreferences("isCheckedTwo");

        checkBox2.setChecked(isCheckedTwo );

    checkBox2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton view, boolean isChecked) {

                Settings.this.putBooleanInPreferences(isChecked,"isCheckedTwo");
            }
        });

和其他类似的