CheckBox复选框

<strong>代码很少很简单,不过还是写的详细点吧</strong>
1.Activity继承PreferenceActivity
public class MainActivity extends PreferenceActivity {
	private Context context;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.my_preference);

		context = this;

		CheckBoxPreference mCheckBoxPreference0 = (CheckBoxPreference) findPreference("cbp0");
		CheckBoxPreference mCheckBoxPreference1 = (CheckBoxPreference) findPreference("cbp1");
		// item点击事件
		mCheckBoxPreference0
				.setOnPreferenceClickListener(new OnPreferenceClickListener() {

					@Override
					public boolean onPreferenceClick(Preference preference) {
						// TODO Auto-generated method stub
						// 这里可以监听到这个CheckBox 的点击事件
						Toast.makeText(context, preference.getTitle() + "被点击了",
								Toast.LENGTH_SHORT).show();
						return true;
					}
				});
		// 可获取checkbox中的值
		mCheckBoxPreference0
				.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

					@Override
					public boolean onPreferenceChange(Preference preference,
							Object newValue) {
						// TODO Auto-generated method stub
						// 这里可以监听到checkBox中值是否改变了,并且可以拿到新改变的值  true/false
						Toast.makeText(context, preference.getTitle()+"的值改变为" +String.valueOf(newValue),
								Toast.LENGTH_SHORT).show();
						return true;
					}
				});
}	
2.主布局:
my_checkbox.xml
<?xml version="1.0" encoding="utf-8"?>  
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+android:id/checkbox"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:button="@drawable/checkbox_checked_style"  
    android:clickable="false"  
    android:focusable="false" />  
	
3.在res中建drawable文件,放checkbox_checked_style.xml资源
<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
  
    <item android:drawable="@drawable/capture_tips_ng" android:state_checked="false"/>  
    <item android:drawable="@drawable/capture_tips_g" android:state_checked="true"/>  
  
</selector>  
4.在res中新建xml文件,存放my_preference.xml
资源
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckBoxPreference
        android:key="cbp0"
        android:summaryOff="Off"
        android:summaryOn="你好"
        android:title="第1个"
        android:widgetLayout="@layout/my_checkbox" />
</PreferenceScreen>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值