安卓Checkbox事件响应及存储

原创 2016年05月31日 23:19:15

  本文写了一个安卓应用程序,实现多个checkbox勾选,下次打开时可以记住上次勾选的状态。用setOnCheckedChangeListener来做事件响应,用SharedPreferences来存储。代码如下:

xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    > 
<EditText
    android:id="@+id/editText1"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="你是谁:"
    /> 
<CheckBox
    android:id="@+id/shuaige"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="帅哥"
    /> 
<CheckBox
    android:id="@+id/meinv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="美女"
    /> 
<CheckBox
    android:id="@+id/ptr"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="普通人"
    /> 
</LinearLayout>


java代码:

package com.example.checkboxsj; 
  
import android.app.Activity; 
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle; 
import android.util.Log;
import android.widget.CheckBox; 
import android.widget.CompoundButton; 
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText; 
  
public class MainActivity extends Activity implements OnCheckedChangeListener { 
    /** Called when the activity is first created. */
    //对控件对象进行声明 
    CheckBox a; 
    CheckBox b; 
    CheckBox c; 
    EditText editText1=null; 
    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        //通过控件的ID来得到代表控件的对象 
        a=(CheckBox)findViewById(R.id.shuaige); 
        b=(CheckBox)findViewById(R.id.meinv); 
        c=(CheckBox)findViewById(R.id.ptr); 
        editText1=(EditText)findViewById(R.id.editText1);
        a.setOnCheckedChangeListener(this);
        b.setOnCheckedChangeListener(this);
        c.setOnCheckedChangeListener(this);
        //设置初始状态
        SharedPreferences sp=this.getSharedPreferences("box",Context.MODE_PRIVATE);
		boolean an1=sp.getBoolean("b1", false );
        a.setChecked(an1);
		boolean an2=sp.getBoolean("b2", false );
        b.setChecked(an2);
		boolean an3=sp.getBoolean("b3", false );
        c.setChecked(an3);
        //给CheckBox设置事件监听 
    }
	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		// TODO Auto-generated method stub
		SharedPreferences sp=getSharedPreferences("box",MODE_PRIVATE);
        Editor e=sp.edit();
		switch(buttonView.getId()){
		case R.id.shuaige :
			e.putBoolean("b1", isChecked);break;
		case R.id.meinv :
			e.putBoolean("b2", isChecked);break;
		case R.id.ptr:
			e.putBoolean("b3", isChecked);break;
		}
		e.commit();
	} 
}

如图:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

安卓 ListView Button、CheckBox、RadioButton 点击事件 覆盖的问题

这两天在捣鼓ListView widget,为了在ListView中加入Button这类的有 “点击” 事件的widget,请教了不少高手,感谢LandMark对我的认真讲解,下面把解决过程描述一下。...

安卓初学:Radio单选框和checkBox多选控件的主要用法以及事件绑定总结

Radio单选框,我们很常见,选择男女的时候我们经常要用它,他的特点就是只能选择一个,在html中,多个选项使得radio只能选择一个我们需要使它们的id相同,SWT中我们把它们放入一个group中。...

安卓CheckBox

  • 2015年03月29日 21:31
  • 2KB
  • 下载

安卓开发:eclipse中创建按钮,响应按钮事件并弹出对话框

安卓开发:eclipse中创建按钮,并单击按钮弹出对话框

安卓中关于点击响应事件的四种写法(电话拨号器)

安卓中点击响应事件主要是用button响应事件,关于响应事件的大概有四种写法 1,,创建一个内部类,定义点击事件 2,创建一个匿名内部类,直接实现接口 3,让activity实现点击事件的接口(...
  • hll174
  • hll174
  • 2015年04月28日 21:04
  • 859

安卓ListView和CheckBox组合使用

项目需要,使用ListView把存储卡中的某个文件夹下的文件列出来,并且可以对这些文件进行删除处理。 1、布局文件line.xml 用来布局ListView每一项的样式 一个图片文件、一个文本显...

安卓——自定义checkbox图标

通过自定义checkbox和点击响应事件说说 1.首先在drawable文件夹中添加checkbox_style.xml 2.在values文件夹下的style...

安卓ListView中CheckBox的使用(支持Item列表项的删除,全选,全不选)

ListView 自身提供了 CheckBox 只需要添加一行代码 getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); ...

安卓checkbox全选/反选/取消选择

activity_main.xml文件

安卓控件使用系列12:CheckBox复选框控件的使用

安卓中CheckBox控件是我们经常需要使用的控件之一,下面将使用方法分享给大家。 这里的例子实现的是四个选项,可以选择其中的一个或者多个,然后点击按钮,会显示选择的内容。 整体思路:首先在xml...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓Checkbox事件响应及存储
举报原因:
原因补充:

(最多只允许输入30个字)