0
我使用recyclerview創建了一個列表。列表中的每個項目都有一個可點擊的圖標,並在點擊時改變顏色。我的問題是,每當我選擇一個圖標時,它不僅會更改所選圖標的顏色,還會更改8個索引以外的圖標的顏色。所以如果我選擇索引0處的圖標,索引9處的圖標也會改變顏色。我不知道我是否有任何意義。Recyclerview選擇不一致
這裏是我的ViewHolder具有事件處理程序
public class MenuItemHolder extends RecyclerView.ViewHolder
{
TextView menuItemTV;
TextView menuItemPriceTV;
ImageView cartIV;
int selectedPosition;
Boolean cartPressed = false;
CardView itemCV;
MenuItemHolder(View itemView)
{
super(itemView);
menuItemTV = (TextView)itemView.findViewById(R.id.menuItem);
menuItemPriceTV = (TextView)itemView.findViewById(R.id.itemPrice);
itemCV = (CardView)itemView.findViewById(R.id.itemCV);
cartIV = (ImageView) itemView.findViewById(R.id.cart);
//Event handler for clicking on the whole card
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectedPosition = getPosition();
Log.i("Position", "Position = " + selectedPosition);
}
});
cartIV.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("Position", "Cart = " + menuItemTV.getText());
if(!cartPressed)
{
cartIV.setImageResource(R.drawable.ic_cart_blue);
cartPressed = true;
}
else {
cartIV.setImageResource(R.drawable.ic_cart_grey);
cartPressed = false;
}
}
});
}
}