CheckBox初识
来源:互联网 发布:网络机顶盒小米盒子 编辑:程序博客网 时间:2024/05/16 06:54
效果
布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_check_box" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" tools:context="com.axnet.buju0711.CheckBoxActivity"> <CheckBox android:id="@+id/cB1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="篮球" /> <CheckBox android:id="@+id/cB2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="足球" /> <CheckBox android:id="@+id/cB3" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="羽毛球" /> <CheckBox android:id="@+id/cB4" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="冰球" /> <Button android:id="@+id/bt1" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="button" android:textAllCaps="false" /> <TextView android:id="@+id/tv1" android:layout_height="wrap_content" android:layout_width="wrap_content" /></LinearLayout>
代码
public class CheckBoxActivity extends AppCompatActivity { private TextView tv1; private CheckBox mCheckBox1; private CheckBox mCheckBox2; private CheckBox mCheckBox3; private CheckBox mCheckBox4; private Button bt1; // 保存被选中的文本内容 Map<Integer,String>checkItems; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_check_box); checkItems=new HashMap<>(); tv1=(TextView)findViewById(R.id.tv1); bt1=(Button)findViewById(R.id.bt1) ; mCheckBox1=(CheckBox)findViewById(R.id.cB1); mCheckBox2=(CheckBox)findViewById(R.id.cB2); mCheckBox3=(CheckBox)findViewById(R.id.cB3); mCheckBox4=(CheckBox)findViewById(R.id.cB4); mCheckBox1.setOnCheckedChangeListener(MyListener); mCheckBox2.setOnCheckedChangeListener(MyListener); mCheckBox3.setOnCheckedChangeListener(MyListener); mCheckBox4.setOnCheckedChangeListener(MyListener); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //遍历集合 String items=""; for(Integer key:checkItems.keySet()){ //拼接字符串 items+=checkItems.get(key); } tv1.setText(items); } }); } CompoundButton.OnCheckedChangeListener MyListener=new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked==true){ //保存键值对 checkItems.put(buttonView.getId(),buttonView.getText().toString() ); }else if(isChecked==false){ checkItems.remove(buttonView.getId()); } } };}
重点内容
创建集合存储数据
Map<Integer,String>checkItems; checkItems=new HashMap<>();
CompoundButton.OnCheckedChangeListener MyListener=new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked==true){ //保存键值对 checkItems.put(buttonView.getId(),buttonView.getText().toString() ); }else if(isChecked==false){ checkItems.remove(buttonView.getId()); } } };
bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //遍历集合 String items=""; for(Integer key:checkItems.keySet()){ //拼接字符串 items+=checkItems.get(key); } tv1.setText(items); } });
自定义一个匿名内部类
CompoundButton.OnCheckedChangeListener MyListener=new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked==true){ //保存键值对 checkItems.put(buttonView.getId(),buttonView.getText().toString() ); }else if(isChecked==false){ checkItems.remove(buttonView.getId()); } } };
剩下几个checkBox复用这个内部类
mCheckBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked==true){ //保存键值对 checkItems.put(buttonView.getId(),buttonView.getText().toString() ); }else if(isChecked==false){ checkItems.remove(buttonView.getId()); } } }); mCheckBox2.setOnCheckedChangeListener(MyListener); mCheckBox3.setOnCheckedChangeListener(MyListener); mCheckBox4.setOnCheckedChangeListener(MyListener);
阅读全文
0 0
- CheckBox初识
- (初识android) android组件 RadioButton,CheckBox,Toast简单介绍
- checkbox
- checkbox
- CheckBox
- CheckBox
- checkbox
- checkbox
- checkbox
- checkbox
- checkbox
- Checkbox
- checkbox
- checkbox
- checkbox
- checkbox
- checkBox
- checkbox
- 单链表排序问题(冒泡/快排【前后指针法】)
- Linux下多进程多线程的调试
- java8特性
- hdu 1698 Just a Hook (线段树)(第二部分 成段更新)
- Bootstrap(二)
- CheckBox初识
- 线性顺序链表简单实现
- 优秀的前端网址
- Java.4面向对象接口
- cf 831C
- 我学xingo golang服务器之-xingo_demo server.go start
- 7/10:泛型方法
- MyBatis 动态SQL 详解
- Qt之 捕获键盘的组合键