Я разрабатываю приложение списка задач, используя sharedpreferences. но он не сохраняет статус флажка. Я хочу сохранить, когда пользователь нажмет на флажок. После того, как пользователь выйдет из приложения и снова увидит его, он уже обновил статус. Как сохранить статус флажка? Вот мой код (уже Фиксированный и работа)SharedPreferences не сохраняет статус флажка
public class TaskList extends Activity {
CheckBox cb1, cb2, cb3, cb4;
Boolean checked = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_tasks);
super.onCreate(savedInstanceState);
findID();
cb1 = (CheckBox) findViewById(R.id.checkBox1);
boolean isChecked = getBooleanFromPreferences("isChecked");
Log.i("start", "" + isChecked);
cb1.setChecked(isChecked);
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton view, boolean isChecked) {
Log.i("boolean", "" + isChecked);
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();
}
private boolean getBooleanFromPreferences(String key) {
SharedPreferences sharedPreferences = this
.getPreferences(Activity.MODE_PRIVATE);
Boolean isChecked = sharedPreferences.getBoolean(key, false);
return isChecked;
}
private void findID() {
cb1 = (CheckBox) findViewById(R.id.checkBox1);
cb2 = (CheckBox) findViewById(R.id.checkBox2);
cb3 = (CheckBox) findViewById(R.id.checkBox3);
cb4 = (CheckBox) findViewById(R.id.checkBox4);
}
}
Я понимаю, что вы хотите только добиться такого поведения для CB1 – zozelfelfo
Почему линия, которая сохраняет прив закомментирована и почему он ссылается на неизвестный класс 'Settings'? – wvdz
Да, я хочу только для cb1 – bee