如何解决可扩展列表视图中的位置更改问题

How to fix the position change issue in Expandable listview

我想弄清楚如何解决可扩展列表视图中的位置更改问题。我有一个图像视图,由两个图标组成,主要用于标记最喜欢和不最喜欢的。当我在下面的方法

中设置可扩展列表视图适配器中存在的图像视图的 onclick 监听器时
 @Override
    public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
 if (convertView == null) {
            LayoutInflater inf = (LayoutInflater) context
                    .getSystemService(context.LAYOUT_INFLATER_SERVICE);
            convertView = lInflater.inflate(R.layout.myfav, parent, false);

        }

final ImageView         favourite_icon = (ImageView) convertView.findViewById(R.id.favourite_icon);
  favourite_icon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
 ImageView imageView = (ImageView)expandableListView.getChildAt(groupPosition).findViewById(R.id.favourite_icon);


            imageView.setColorFilter(context.getResources().getColor(R.color.datedisplay),android.graphics.PorterDuff.Mode.MULTIPLY);
}});

位置不对,其他一些项目图标的颜色也发生了变化。当我在此 lisview 中滚动时,设置的图标色调会自动更改

可能是这样的:

        expandableListView.getChildAt(groupPosition)

在子列表上使用组索引,这会导致问题。