我创建了一个expandablelistview,当选择子项时,将其颜色更改为BLUE。当我按下它会好的,但当我重新列出该列表时,另一个孩子(接近所选的)变为蓝色并且所选择的变为白色?为什么?这是ONChilCLickListener
上的代码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;
}
});