Android 滚动可展开列表视图时要更改的选择

Android 滚动可展开列表视图时要更改的选择,android,android-adapter,android-adapterview,Android,Android Adapter,Android Adapterview,我使用可展开列表视图来设置父级中包含的数据的图像按钮和名称,在此列表中选择列表项以更改图像按钮的颜色。一切都安排好了。滚动列表项时,选择要更改的图像按钮颜色。我认为滚动时,可扩展列表视图会得到刷新。如何解决这个问题 以下代码 @Override public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) { final GroupViewHolder groupViewHo

我使用可展开列表视图来设置父级中包含的数据的图像按钮和名称,在此列表中选择列表项以更改图像按钮的颜色。一切都安排好了。滚动列表项时,选择要更改的图像按钮颜色。我认为滚动时,可扩展列表视图会得到刷新。如何解决这个问题

以下代码

@Override
    public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) {
       final GroupViewHolder groupViewHolder;
        if(view==null) {
            groupViewHolder=new GroupViewHolder();
            view=((LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.product_listview_group_item,null);
            groupViewHolder.name=(TextView)view.findViewById(R.id.category_listview_item_name);
            groupViewHolder.price = (TextView)view.findViewById(R.id.category_listview_item_price);
            groupViewHolder.nameIcon=(ImageView)view.findViewById(R.id.category_listview_item_icon);
            groupViewHolder.onClick=(ImageButton)view.findViewById(R.id.category_listview_item_onclick);
            view.setTag(groupViewHolder);
        } else {
            groupViewHolder=(GroupViewHolder)view.getTag();
        }
        groupViewHolder.nameIcon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (groupViewHolder.nameIcon.isSelected()) {                   groupViewHolder.name.setTextColor(Color.parseColor("#ffc400"));                    groupViewHolder.price.setTextColor(Color.parseColor("#ffc400"));                    groupViewHolder.nameIcon.setBackgroundResource(R.mipmap.yellow_circle_list_item);
                    groupViewHolder.nameIcon.setSelected(true);
                    dataHandler.addTempproducts(datas.get(i));
                } else {
               groupViewHolder.nameIcon.setBackgroundResource(R.mipmap.black_circle_list_item);
                    groupViewHolder.nameIcon.setSelected(false);                    groupViewHolder.name.setTextColor(Color.parseColor("#ffffff"));                    groupViewHolder.price.setTextColor(Color.parseColor("#ffffff"));
                    groupViewHolder.nameIcon.setTag(null);
                    dataHandler.removeTempProducts(datas.get(i));
                }
            }
        });
        if(datas.get(i).getPrice().isEmpty()) {
            groupViewHolder.price.setText(datas.get(i).getPrice());
        } else  {
            groupViewHolder.price.setText(datas.get(i).getPrice() + "/-");
        }
        groupViewHolder.name.setText(datas.get(i).getName());
        return view;
    }

您需要检查位置是否被选中,或者是否只有我使用的上述代码。如何检查该位置?这是因为ListView的回收机制如何。[您可以在以下网址阅读更多信息:()我也有同样的问题,上面的代码可以正常工作。您需要检查位置是否选中了该代码,或者是否仅使用了上述代码。如何检查该位置?这是因为ListView的回收机制如何。[您可以在以下网址阅读更多信息:()我也有同样的问题,上面的代码可以工作