問題を解決しました。expandableList をスクロールすると、ビューの色を変更できません。私は2つのことをしました。1 つ目は、アクティビティに次のコードを追加したことです。
expandableList.setOnChildClickListener(new OnChildClickListener(){
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
View view= null ;
//Select's item
select = expandableListInfo[groupPosition].get(childPosition);
//Get the last element visible in expandableList
int lastVis =expandableList.getLastVisiblePosition();
//Get the first element vsible in the expandableList
int firstVis = listadoPedidos.getFirstVisiblePosition();
int count = firstVis;
while (count <= lastVis) {
int viewPosition=count-firstVis;
long longposition = expandableList.getExpandableListPosition(count);
int type = ExpandableListView.getPackedPositionType(longposition);
if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
int groupPositionLast = ExpandableListView.getPackedPositionGroup(longposition);
//Get the object selected before
//This tag is save in the adapter
Object lastObject = (Object)parent.getTag(R.id.tag_select);
view =(View) parent.getChildAt(viewPosition);
Object ob=view.getTag(R.id.tag_select);
if(ob.equals(lastObject)){
//Change colour view
}
}
count++;
}
...
parent.setTag(R.id.tag_select, select);
return false;
}
});
2 つ目は、アダプタに次のコードを getChildView に追加することです。
convertView.setTag(R.id.tag_select, object);
if(parent.getTag(R.id.tag_select).equals.object){
//// TODO
}