Android中无法保存CheckBox的状态 加log,看看在退出界面时isChecked的值是true还是false。在重新进来时,把cbx1_ischecked保存的值也打印出来看看就知道了,或者debug一下也可以。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 离开这个界面再次回来之后,所有的CheckBox的状态又都会变为默认全部未选中的状态,这是肯定的,你回到这个界面还要读取SharedPreferrences啊,根据相应的值去setCheckbox的状态 onCreate的时候对每个checkbox设置setChecked,根据你从sharedpreference中读取的值进行设置 在onCreate中读取sharedpreference中设置的值,根据这个值checkbox设置setChecked 你要手动进入cbx1_ischecked然后进行设置,不然不会给你自动获取cbx1_ischecked值。在getSharedPreferences放完数据后,要在oncreate中初始化checkboz数据的状态,代码如下:/ onCreateSharedPreferences settings = getSharedPreferences("syllabus", 0);Boolean isChecked = settings.getBoolean("cbx1_ischecked", false);checkbox1.setChecked(isChecked ); 试一下这个方法:boolean check1,check2; checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener(){ public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { // TODO Auto-generated method stub check1=isChecked; }});checkbox2.setOnCheckedChangeListener(new OnCheckedChangeListener(){public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {// TODO Auto-generated method stub check2=isChecked;}}); //store boolean only once when you leave the activity Editor editor = getSharedPreferences("syllabus", 0).edit(); editor.putBoolean("cbx1_ischecked", check1); editor.putBoolean("cbx2_ischecked", check2); editor.commit(); In onCreate() SharedPreferences prefs = getSharedPreferences("syllabus", 0); checkbox1.setChecked(prefs.getBoolean("cbx1_ischecked" ,false)); checkbox2.setChecked(prefs.getBoolean("cbx2_ischecked" ,false)); 分两个过程,选中后,你要触发一个事件去保存,比如点击按钮,或是监听checkbox,在activity中复写resume方法,读取preference,设置checkbox值 ffmpeg播放问题 网络收音机的数据源问题 录音遇到缓冲溢出的问题 android 模拟器不能加载 SoundPool RootElement 如何取xml属性? Android给Web服务器发送请求并且获得数据出现错误! 这个如何实现 cocos2dx游戏开发 超级闹钟源代码及应用程序 跪求大神 android扫描使用zxing组件的问题 Activity中停止服务报错,请大侠指点。。。
Boolean isChecked = settings.getBoolean("cbx1_ischecked", false);
checkbox1.setChecked(isChecked );
boolean check1,check2;
checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
check1=isChecked; }
});checkbox2.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
check2=isChecked;}}); //store boolean only once when you leave the activity
Editor editor = getSharedPreferences("syllabus", 0).edit();
editor.putBoolean("cbx1_ischecked", check1);
editor.putBoolean("cbx2_ischecked", check2);
editor.commit();
In onCreate() SharedPreferences prefs = getSharedPreferences("syllabus", 0);
checkbox1.setChecked(prefs.getBoolean("cbx1_ischecked" ,false));
checkbox2.setChecked(prefs.getBoolean("cbx2_ischecked" ,false));