Colors ExpandableListView在展开时更改子项的颜色
我创建了一个expandablelistview,当一个子对象被选中时,它的颜色会变为蓝色。当我按下它时,它将是好的,但是当我重新展开列表时,另一个孩子(靠近所选的孩子)变为蓝色,所选的变成白色?为什么?这是ONChilCLickListener上的代码Colors ExpandableListView在展开时更改子项的颜色,colors,expandablelistview,Colors,Expandablelistview,我创建了一个expandablelistview,当一个子对象被选中时,它的颜色会变为蓝色。当我按下它时,它将是好的,但是当我重新展开列表时,另一个孩子(靠近所选的孩子)变为蓝色,所选的变成白色?为什么?这是ONChilCLickListener上的代码 expListView.setOnChildClickListener(new OnChildClickListener() { @Override public boolean
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView l, View v,
int groupPosition, int childPosition, long id) {
tipocontrol=0;
tipocontrolex=0;
for (int i=0; i < l.getChildCount(); i++)
{
System.out.println("Item: "+l.getItemAtPosition(i).toString());
}
tipouser=l.getItemAtPosition(childPosition+1).toString();
Toast.makeText(getApplicationContext(), "Child is clicked "+tipouser, Toast.LENGTH_LONG).show();
for(int k=0; k<l.getChildCount(); k++){
System.out.println("Exp count Click "+expListView.getChildAt(k).toString());
System.out.println("Exp count CLick "+expListView.getItemAtPosition(k).toString()+" position "+k);
if(expListView.getItemAtPosition(k).toString().equals(tipouser)){
expListView.getChildAt(k).setBackgroundColor(Color.BLUE);
System.out.println("Trovato pos exp click"+tipouser+" = "+expListView.getChildAt(k));
tipocontrolex=k;
}
else if(k==0){
}
else{
expListView.getChildAt(k).setBackgroundColor(Color.WHITE);
System.out.println("Non selezionato expand click"+expListView.getChildAt(k));
}
}
tipocontrol=childPosition+1;
System.out.println("Tipocontrol "+tipocontrol);
System.out.println("Tipocontrolex "+tipocontrolex);
int count = l.getCount();
System.out.println("Count explistview "+l.getCount() );
for (int i = 0; i <count ; i++){
l.collapseGroup(i);
}
return false;
}
});
expListView.setOnChildClickListener(新的OnChildClickListener(){
@凌驾
公共布尔onChildClick(可扩展列表视图l、视图v、,
int groupPosition、int childPosition、long id){
tipocontrol=0;
tipocontrolex=0;
对于(int i=0;i