如何保存一个Android CheckBox的状态,当用户退出应用程序? [英] How to save the state of an Android CheckBox when the users exits the application?
本文介绍了如何保存一个Android CheckBox的状态,当用户退出应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法通过它我可以节省我的复选框状态(选中或取消选中),当用户退出应用程序,这样我可以重新加载此状态下,当应用程序重新启动?
@覆盖
公共无效的onPause()
{
super.onPause();
保存(itemChecked);
}
@覆盖
公共无效onResume()
{
super.onResume();
checkOld =负载();
的for(int i = 0; I< checkOld.length;我++)
{
notes.ctv.get(我).setChecked(checkOld [I]);
}
}
@覆盖
公共无效onRestart()
{
super.onResume();
checkOld =负载();
的for(int i = 0; I< checkOld.length;我++)
{
notes.ctv.get(我).setChecked(checkOld [I]);
}
}
私人无效保存(最终布尔[]器isChecked){
共享preferences共享preferences = GET preferences(Context.MODE_PRIVATE);
共享preferences.Editor编辑=共享preferences.edit();
insertState();
对于(整数i = 0; I< isChecked.length;我++)
{
editor.putBoolean(i.toString(),器isChecked [I]);
}
editor.commit();
}
私人布尔[]负载(){
共享preferences共享preferences = GET preferences(Context.MODE_PRIVATE);
布尔[] =复查新的布尔[itemChecked.length]
对于(整数i = 0; I< itemChecked.length;我++)
{
复核[我] =共享preferences.getBoolean(i.toString(),FALSE);
}
返回复核;
}
解决方案
联合的onPause()
和 onResume()
保存和加载你的复选框
值。
样品code:
@覆盖
公共无效的onPause(){
super.onPause();
保存(mCheckBox.isChecked());
}
@覆盖
公共无效onResume(){
super.onResume();
mCheckBox.setChecked(负载());
}
私人无效保存(最终布尔器isChecked){
共享preferences共享preferences = GET preferences(Context.MODE_PRIVATE);
共享preferences.Editor编辑=共享preferences.edit();
editor.putBoolean(检查,器isChecked);
editor.commit();
}
私人布尔负载(){
共享preferences共享preferences = GET preferences(Context.MODE_PRIVATE);
返回共享preferences.getBoolean(检查,假);
}
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;
}
解决方案
Combine onPause()
and onResume()
to save and load your CheckBox
value.
Sample code:
@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屋!
查看全文