我使用可扩展列表视图来设置父级中的数据包含图像按钮和名称,在此列表中选择列表项来更改图像按钮的颜色。一切都准备好了。滚动列表项时选择要更改的图像按钮颜色。我认为在滚动可扩展列表视图时会刷新。如何解决这个问题?
代码
@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;
}