当用户退出应用程序时,有什么方法可以保存复选框的状态(选中或未选中),以便在应用程序重新启动时重新加载此状态?
@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;
}