1

I am using expandable list view to set the data in the parent contains the image button and name, in this list selected the list item to change the image button color. All things are set. While scroll the list item selected image button color to be changed. I think while scroll the expandable list view is get refreshed. How to fix this problem ?

Below code

@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;
    }
Saravanan Selvam
  • 163
  • 1
  • 5
  • 17

0 Answers0