当用户退出应用程序时,如何保存 Android CheckBox 的状态? [英] How to save the state of an Android CheckBox when the users exits the application?
本文介绍了当用户退出应用程序时,如何保存 Android CheckBox 的状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有什么方法可以在用户退出应用程序时保存复选框的状态(选中或未选中),以便在应用程序重新启动时重新加载此状态?
Is there any way by which I can save the state of my checkboxes (checked or unchecked) when user exits the application so that I can reload this state when the application restarts?
@Override
public void onPause()
{
super.onPause();
save(itemChecked);
}
@Override
public void onResume()
{
super.onResume();
checkOld = load();
for (int i = 0 ; i < checkOld.length; i++)
{
notes.ctv.get(i).setChecked(checkOld[i]);
}
}
@Override
public void onRestart()
{
super.onResume();
checkOld = load();
for (int i = 0 ; i < checkOld.length; i++)
{
notes.ctv.get(i).setChecked(checkOld[i]);
}
}
private void save(final boolean[] isChecked) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
insertState();
for(Integer i = 0; i < isChecked.length; i++)
{
editor.putBoolean(i.toString(), isChecked[i]);
}
editor.commit();
}
private boolean[] load() {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
boolean [] reChecked = new boolean[itemChecked.length];
for(Integer i = 0; i < itemChecked.length; i++)
{
reChecked[i] = sharedPreferences.getBoolean(i.toString(), false);
}
return reChecked;
}
推荐答案
结合 onPause()
和 onResume()
来保存和加载你的 CheckBox
代码>值.
Combine onPause()
and onResume()
to save and load your CheckBox
value.
示例代码:
@Override
public void onPause() {
super.onPause();
save(mCheckBox.isChecked());
}
@Override
public void onResume() {
super.onResume();
mCheckBox.setChecked(load());
}
private void save(final boolean isChecked) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("check", isChecked);
editor.commit();
}
private boolean load() {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
return sharedPreferences.getBoolean("check", false);
}
这篇关于当用户退出应用程序时,如何保存 Android CheckBox 的状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文