无法保存CheckBox的Andr​​oid中的状态 [英] Can not save the state of CheckBox in Android

查看:135
本文介绍了无法保存CheckBox的Andr​​oid中的状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发的应用程序。有在一个页面许多复选框。我想保存复选框的状态,当我退出页面。我使用共享preferrences保存。在code是这样的:

I am developing an application. There are many checkbox in one page. I want to save the state of CheckBox when I exit page. I use SharedPreferrences to save. The code is like this:

checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
Editor editor = getSharedPreferences("syllabus", 0).edit();
editor.putBoolean("cbx1_ischecked", isChecked);
editor.commit();
}
    });
checkbox2.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
    // TODO Auto-generated method stub
    Editor editor = getSharedPreferences("syllabus", 0).edit();
    editor.putBoolean("cbx2_ischecked", isChecked);
    editor.commit();
    }

});

当我离开这个页面,然后再返回。所有复选框状态变得不选择作为默认值。为什么?

When I leave this page, and back again. All the checkbox state becomes not selected as default. why?

推荐答案

您正在保存vallues但你必须恢复他们,你的活动开始是这样的:

You are saving vallues but you have to restore them you your activity is started like this :

SharedPreferences prefs = getSharedPreferences("syllabus", 0);
checkbox1.setChecked(prefs.getBoolean("cbx1_ischecked" ,false));
checkbox2.setChecked(prefs.getBoolean("cbx2_ischecked" ,false));

这篇关于无法保存CheckBox的Andr​​oid中的状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆