我进行了一个由CheckTextView和TextView组成的活动。当用户选中该框时,我想在用户退出活动或关闭应用程序时保存该状态。
我向每个CTV添加了onClickListener。
然后我尝试将其保存在onPause和onResume方法中。我无法解决此问题,因为当我只保存其中几个复选框时,该复选框就可以工作(虽然有所不同,但可以与其中的1-5个一起工作),但是当我添加所有复选框时,返回到活动。
#sec-faq-items .grid-1.grid-col {
# Some rule
}
答案 0 :(得分:0)
因为只用一个键来保存CheckedTextView's
值!
private void save(final boolean isChecked, String key) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(key, isChecked);
editor.apply();
}
private boolean load(String key) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
return sharedPreferences.getBoolean(key, false);
}
protected void onPause() {
super.onPause();
save(ctv1.isChecked(), "check1");
save(ctv2.isChecked(), "check2");
save(ctv3.isChecked(), "check3");
}
protected void onResume() {
super.onResume();
ctv1.setChecked(load("check1"));
ctv2.setChecked(load("check2"));
ctv3.setChecked(load("check3"));
}