Android 在Expandablelistview的子视图中管理复选框
在我的Android 在Expandablelistview的子视图中管理复选框,android,expandablelistview,Android,Expandablelistview,在我的ExpandableListview中,我使用了与形状图像和名称相似的Imageview和Checkbox 当我勾选特定子项的复选框时,在滚动选中状态更改后,另一个子项也会被勾选 请帮我解决这个问题 提前谢谢 public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
ExpandableListview
中,我使用了与形状图像和名称相似的Imageview
和Checkbox
当我勾选特定子项的复选框时,在滚动选中状态更改后,另一个子项也会被勾选
请帮我解决这个问题
提前谢谢
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
_childText = (String) getChild(groupPosition, childPosition);
int itemType = getChildType(groupPosition,childPosition);
Log.e("childPosition", "karjeevch "+childPosition);
ViewHolder viewHolder = null;
switch (itemType) {
case 0:
viewHolder = null;
if (convertView==null) {
viewHolder=new ViewHolder();
convertView = infalInflater.inflate(R.layout.list_child_shape, null);
viewHolder.shape_name = (CheckBox) convertView.findViewById(R.id.shape_chk_box);
viewHolder.img_shape_icon=(ImageView)convertView.findViewById(R.id.img_shape);
imageLoader.DisplayImage("http://rosycontact.com/shashvat/images/"+_childText+".png", viewHolder.img_shape_icon);
viewHolder.shape_name.setText(_childText);
convertView.setTag(viewHolder);
final CheckBox shape_name_temp=viewHolder.shape_name;
viewHolder.shape_name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (shape_name_temp.isChecked()==true) {
All_link.SHAPE=shape_name_temp.getText().toString();
}
}
});
//new PerformBackgroungTask().execute();
}
else{
viewHolder=(ViewHolder)convertView.getTag();
}
return convertView;
//break;
case 1:
viewHolder = null;
if (convertView==null) {
viewHolder=new ViewHolder();
convertView = infalInflater.inflate(R.layout.list_child_carat, null);
viewHolder.carat_from = (TextView) convertView.findViewById(R.id.ed_carat_from);
viewHolder.carat_to = (TextView) convertView.findViewById(R.id.ed_carat_to);
viewHolder.carat_from.setText("jdsv");
viewHolder.carat_to.setText("jdsv");
All_link.CARAT_FROM=viewHolder.carat_from.getText().toString();
All_link.CARAT_TO=viewHolder.carat_to.getText().toString();
}
else{
viewHolder=(ViewHolder)convertView.getTag();
}
return convertView;
case 2:
viewHolder = null;
if (convertView==null) {
viewHolder=new ViewHolder();
convertView = infalInflater.inflate(R.layout.list_child_color, null);
viewHolder.color_from = (Spinner) convertView.findViewById(R.id.spn_color_from);
viewHolder.color_to = (Spinner) convertView.findViewById(R.id.spn_color_to);
ArrayAdapter adapter = new ArrayAdapter(_context, android.R.layout.simple_spinner_item, SearchActivity.color_list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
viewHolder.color_from.setAdapter(adapter);
viewHolder.color_to.setAdapter(adapter);
convertView.setTag(viewHolder);
final Spinner color_from_temp=viewHolder.color_from;
final Spinner color_to_temp=viewHolder.color_to;
// Changing textcolor
viewHolder.color_from.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
All_link.COLOR_FROM=color_from_temp.getSelectedItem().toString();
((TextView) parent.getChildAt(0)).setTextColor(Color.parseColor("#003974"));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
viewHolder.color_to.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
All_link.COLOR_TO=color_to_temp.getSelectedItem().toString();
((TextView) parent.getChildAt(0)).setTextColor(Color.parseColor("#003974"));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
else{
viewHolder=(ViewHolder)convertView.getTag();
}
return convertView;
public View getChildView(int-groupPosition,final int-childPosition,
布尔值isLastChild、视图转换视图、视图组父级){
_childText=(字符串)getChild(groupPosition,childPosition);
int itemType=getChildType(groupPosition,childPosition);
Log.e(“childPosition”、“karjeevch”+childPosition);
ViewHolder ViewHolder=null;
开关(项目类型){
案例0:
viewHolder=null;
if(convertView==null){
viewHolder=新的viewHolder();
convertView=infalInflater.充气(R.layout.list\u child\u shape,null);
viewHolder.shape\u name=(复选框)convertView.findViewById(R.id.shape\u chk\u框);
viewHolder.img\u shape\u icon=(ImageView)convertView.findViewById(R.id.img\u shape);
imageLoader.DisplayImage(“http://rosycontact.com/shashvat/images/“+”childText+“.png”,viewHolder.img\u shape\u图标);
viewHolder.shape\u name.setText(\u childText);
convertView.setTag(viewHolder);
最后一个复选框shape\u name\u temp=viewHolder.shape\u name;
viewHolder.shape_name.setOnCheckedChangeListener(新的CompoundButton.OnCheckedChangeListener(){
@凌驾
检查更改后的公共无效(复合按钮视图,布尔值已检查){
//TODO自动生成的方法存根
如果(形状名称温度已检查()=真){
All_link.SHAPE=SHAPE_name_temp.getText().toString();
}
}
});
//新建PerformBackgroundTask().execute();
}
否则{
viewHolder=(viewHolder)convertView.getTag();
}
返回视图;
//中断;
案例1:
viewHolder=null;
if(convertView==null){
viewHolder=新的viewHolder();
convertView=infalInflater.充气(R.layout.list\u child\u carat,空);
viewHolder.carat\u from=(TextView)convertView.findViewById(R.id.ed\u carat\u from);
viewHolder.carat\u to=(TextView)convertView.findViewById(R.id.ed\u carat\u to);
viewHolder.carat_来自.setText(“jdsv”);
视图持有者.carat_至.setText(“jdsv”);
All_link.CARAT_FROM=viewHolder.CARAT_FROM.getText().toString();
All_link.CARAT_TO=viewHolder.CARAT_TO.getText().toString();
}
否则{
viewHolder=(viewHolder)convertView.getTag();
}
返回视图;
案例2:
viewHolder=null;
if(convertView==null){
viewHolder=新的viewHolder();
convertView=infalInflater.flate(R.layout.list\u child\u color,null);
viewHolder.color\u from=(微调器)convertView.findViewById(R.id.spn\u color\u from);
viewHolder.color\u to=(微调器)convertView.findViewById(R.id.spn\u color\u to);
ArrayAdapter=新的ArrayAdapter(_context,android.R.layout.simple_spinner_项,SearchActivity.color_列表);
setDropDownViewResource(android.R.layout.simple\u微调器\u项);
viewHolder.color_来自.setAdapter(适配器);
viewHolder.color_to.setAdapter(适配器);
convertView.setTag(viewHolder);
最终微调器颜色\u from\u temp=viewHolder.color\u from;
最终微调器颜色\u至\u温度=viewHolder.color\u至;
//更改文本颜色
viewHolder.color_来自.setOnItemSelectedListener(新的OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView父视图、视图、,
内部位置,长id){
//TODO自动生成的方法存根
All_link.COLOR_FROM=COLOR_FROM_temp.getSelectedItem().toString();
((TextView)parent.getChildAt(0)).setTextColor(Color.parseColor(“#003974”);
}
@凌驾
未选择公共无效(AdapterView父级){
//TODO自动生成的方法存根
}
});
viewHolder.color_to.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图、,
内部位置,长id){
//TODO自动生成的方法存根
All_link.COLOR_TO=COLOR_TO_temp.getSelectedItem().toString();
((TextView)parent.getChildAt(0)).setTextColor(Color.parseColor(“#003974”);
}
@凌驾
未选择公共无效(AdapterView父级){
//TODO自动生成的方法存根
}
});
}
否则{
viewHolder=(viewHolder)convertView.getTag();
}
返回视图;