突出显示“可扩展” listView内部的儿童视图



当用户触摸项目时,我需要突出显示可扩展列表视图的子视图。我希望颜色留下来,而不仅仅是提供视觉反馈。我能够以:

来实现这一目标
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或对象的最新项目的参考或位置。

2(然后,您可以制作这样的函数,然后在项目上调用它并通过位置:

int lastItem = 0;
public void highlight(int clickedItem){
clickedItem.setBackground(//highlight color);
lastItem.setBackground(//unhighlight color);
lastItem = clickedItem;
}

3(这将有助于您保存参考,并使其易于处理最后一个项目和当前项目。这只是我在处理这样的案例时使用的一种方法。您必须使用这种方法。

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新