80,353
社区成员
发帖
与我相关
我的任务
分享
// 设置只显示一个Group
choose_list.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
// TODO Auto-generated method stub
for (int i = 0; i < adapter.getGroupCount(); i++) {
if (groupPosition != i) {
//Group收起
choose_list.collapseGroup(i);
//这个在这没用
first = 0;
//我这里选中某个CheckBox后,选中的结果放在一个TextView中,you_want[groupPosition]表示被选中的字段,如
//有1 2 3 4四个选项,我选了"1" "3",那么you_want[groupPosition]的值就是"1 3"
String hasChoose = you_want[groupPosition];
//map_check是一个new HashMap<Integer, CheckBox[]>(); checkBoxs表示的是对应position布局中的所有checkBox选项组成的数组
CheckBox[] checkBoxs = map_check.get(groupPosition);
//我目标的TextView的默认值是“全部”,如果不是全部,则肯定是选了别的选项。
if(!(hasChoose.indexOf("全部")!=-1)){
Toast.makeText(MainActivity.this,"groupPosition="+groupPosition, Toast.LENGTH_SHORT).show();
for(int j =0;j<checkBoxs.length;j++){
//获取对应位置checkBoxs中所有选项的文本
String x = (String) checkBoxs[j].getText();
System.out.println(x);
//根据文本值查找textView的文本是否包含checkBoxs中的文本,意思就是根据字符来判断,如果"1 3" 中有1,则代表1的这个CheckBox是被选中的
if(hasChoose.indexOf(x)!=-1){
//这句话输出了
System.out.println("变色变色");
//这个值也改了。
checkBoxs[j].setText("ddd");
//改变图标的背景颜色 (但是这句话没有效果)
checkBoxs[j].setBackgroundColor(Color.rgb(47,166, 221));
//这个也没有效果。
checkBoxs[j].setSelected(true);
}
}
}
}
}
}
});
view跟checkBox有啥区别么。用checkBox可以记录下用户选择的状态,下次回显方便。 你换一个view试下,不用checkBox
你换一个view试下,不用checkBox
对我有用........