Android 突出显示可展开列表视图中的子视图
当用户触摸项目时,我需要突出显示可扩展列表视图的子视图。我希望颜色保持不变,而不仅仅是提供视觉反馈。我能够通过以下方式实现这一目标:Android 突出显示可展开列表视图中的子视图,android,listview,expandablelistview,Android,Listview,Expandablelistview,当用户触摸项目时,我需要突出显示可扩展列表视图的子视图。我希望颜色保持不变,而不仅仅是提供视觉反馈。我能够通过以下方式实现这一目标: expandablelistview_options.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, Vi
expandablelistview_options.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
v.setBackgroundColor(Color.BLUE);
return false;
}
});
但我的问题是,如果在同一父视图中选择另一个子视图,则上一个选择不会取消高亮显示
如何解决此问题?您可以采用以下方法: 1) 将最近单击的项目的引用或位置保存为int或object 2) 然后,您可以创建这样的函数,并在单击项目时调用它,然后传递位置:
int lastItem = 0;
public void highlight(int clickedItem){
clickedItem.setBackground(//highlight color);
lastItem.setBackground(//unhighlight color);
lastItem = clickedItem;
}
3) 这将帮助您保存引用,并使您能够轻松处理最后一项和当前项。这只是我在处理这种情况时使用的一种方法。同样,你也必须使用这种方法
希望这有帮助