我的应用包含6个复选框,点击特定复选框激活其他3个ex 让复选框名称 人的 树 动物 点击树3新的chkbox打开命名 芒果 苹果 印楝 我也希望在共享偏好中保存这些值,这样当我打开应用程序时,它应保留保存的值 这是我试过的*所有东西都在自定义对话框中
final Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.menu);
Button dialogButton = (Button) dialog.findViewById(R.id.btncross);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
cb1 = (CheckBox)dialog.findViewById(R.id.checkBoxHR);
cb1.setOnCheckedChangeListener(listener1);
cb2 = (CheckBox)dialog.findViewById(R.id.checkBoxDay);
cb2.setOnCheckedChangeListener(listener2);
cb3 = (CheckBox)dialog.findViewById(R.id.checkBox1);
cb3.setOnCheckedChangeListener(listener3);
cb10 = (CheckBox)dialog.findViewById(R.id.checkBox10);
cb10.setOnCheckedChangeListener(listener10);
cb5 = (CheckBox)dialog.findViewById(R.id.checkBox5);
cb5.setOnCheckedChangeListener(listener5);
cb8 = (CheckBox)dialog.findViewById(R.id.checkBox8);
cb8.setOnCheckedChangeListener(listener8);
preferences = getSharedPreferences("syllabus", 0);
cb1.setChecked(preferences.getBoolean("c1" ,false));
cb2.setChecked(preferences.getBoolean("c2" ,false));
cb3.setChecked(preferences.getBoolean("c3" ,false));
cb10.setChecked(preferences.getBoolean("c10" ,false));
cb5.setChecked(preferences.getBoolean("c5" ,false));
cb8.setChecked(preferences.getBoolean("c8" ,false));
private OnCheckedChangeListener listener2 = new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
if(isChecked){
cb1.setChecked(false);
cb2.setChecked(true);
cb3.setChecked(false);
cb10.setChecked(true);
cb5.setChecked(true);
cb8.setChecked(true);
preferences = getPreferences(MODE_PRIVATE);
Editor editor = getSharedPreferences("syllabus", 0).edit();
editor.putBoolean("c2", true);
editor.putBoolean("c1", false);
editor.putBoolean("c3", false);
editor.putBoolean("c10", true);
editor.putBoolean("c5", true);
editor.putBoolean("c8", true);
editor.commit();
}else{
cb10.setChecked(false);
cb5.setChecked(false);
cb8.setChecked(false);
}
}
};
我不知道为什么价值观没有妥善保存在错误的共享偏好