关于CheckBox状态保存并回显的例子

package cn.lily.cb;

import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {

	
	private CheckBox mCbDemo;
	private SharedPreferences sp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        
        // 初始化控件
        mCbDemo = (CheckBox) findViewById(R.id.cb);
        
        // 要想回显CheckBox的状态 我们需要取得数据
        // [1] 还需要获得SharedPreferences
        sp = getSharedPreferences("isChecked", 0);
        boolean result = sp.getBoolean("choose", false); // 这里就是开始取值了 false代表的就是如果没有得到对应数据我们默认显示为false
        // 把得到的状态设置给CheckBox组件
        mCbDemo.setChecked(result);
        // 为CheckBox设置监听事件
        mCbDemo.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			
			

			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				// 判断CheckBox是否被勾选了
				boolean ischecked = mCbDemo.isChecked(); 
				
				if(isChecked) {// CheckBox被勾选了 我们就把你的状态保存起来
					// 我们先来个吐司
					Toast.makeText(MainActivity.this, "被勾选了", 1).show();
					sp = getSharedPreferences("isChecked", 0);
					// 使用编辑器来进行操作
					Editor edit = sp.edit();
					// 将勾选的状态保存起来
					edit.putBoolean("choose", true); // 这里的choose就是一个key 通过这个key我们就可以得到对应的值
					// 最好我们别忘记提交一下
					edit.commit();
				} else {
					Toast.makeText(MainActivity.this, "被勾选了", 1).show();
				}
				
			}
		});
    }

}


上面是一个CheckBox状态保存的实例 大家也可以在谷歌官方文档中去看下! 代码很简单 主要看下注释 这样便于理解 有什么问题请下方留言告知!共同学习进步!

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值