当有多个复选框CheckBox时,选中其中的某几个复选框时候,判断选中的都是哪几个,实现方式如下:
xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<CheckBox
android:id="@+id/cb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="体育"/>
<CheckBox
android:id="@+id/cb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="音乐"/>
<CheckBox
android:id="@+id/cb3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="美术"/>
<CheckBox
android:id="@+id/cb4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="英语"/>
<CheckBox
android:id="@+id/cb5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="语文"/>
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"/>
<TextView
android:id="@+id/tv_jsonString"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="jsonString:"/>
</LinearLayout>
类文件主要功能实现
private void initView() {
cb1 = (CheckBox) findViewById(R.id.cb1);
cb2 = (CheckBox) findViewById(R.id.cb2);
cb3 = (CheckBox) findViewById(R.id.cb3);
cb4 = (CheckBox) findViewById(R.id.cb4);
cb5 = (CheckBox) findViewById(R.id.cb5);
// 将所有的checkbox放到一个集合中
checkBoxList.add(cb1);
checkBoxList.add(cb2);
checkBoxList.add(cb3);
checkBoxList.add(cb4);
checkBoxList.add(cb5);
btn_submit = (Button) findViewById(R.id.btn_submit);
btn_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkBoxInfoList = new ArrayList<CheckBoxInfo>();
//遍历集合中的checkBox,判断是否选择,获取选中的文本添加到实体类CheckBoxInfo里
//并存入列表checkBoxInfoList里
for (CheckBox checkbox : checkBoxList) {
if (checkbox.isChecked()) {
CheckBoxInfo checkBoxInfo = new CheckBoxInfo();
checkBoxInfo.setLike(checkbox.getText().toString());
checkBoxInfoList.add(checkBoxInfo);
}
}
}
});
}
CheckBoxInfo实体类的源码如下:
import java.io.Serializable;
/**
* Created by WangJinyong on 2017/9/20.
*/
public class CheckBoxInfo implements Serializable {
private String like;
public String getLike() {
return like;
}
public void setLike(String like) {
this.like = like;
}
}
4827

被折叠的 条评论
为什么被折叠?



