SetText innerhalb OnCreateViewHolder setzt Text auf mehr als ein Element
Wenn ich die Zeichen Schritt klicken Sie auf den Punkt, sollte es die Nummer nur für diesen Punkt erhöht i an geklickt. Allerdings scrolle ich nach unten und ich finde einige andere Elemente werden ebenfalls erhöht.
Hier ist mein Code
public class CartAdapter extends RecyclerView.Adapter<MyViewHolder> {
private Context mContext;
private List<Dish> dishList;
private CartFragment fra;
public CartAdapter(Context mContext, List<Dish> dishList, CartFragment fragment) {
this.mContext = mContext;
this.dishList = dishList;
this.fra=fragment;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_cart, parent, false);
final MyViewHolder holder = new MyViewHolder(itemView);
holder.inc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int i=Integer.parseInt(holder.number.getText().toString())+1;
holder.number.setText(i+"");
//fra.addPrice(p);
}
});
holder.dec.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(Integer.parseInt(holder.number.getText().toString())>1){
int i=Integer.parseInt(holder.number.getText().toString())-1;
holder.number.setText(i+"");
//fra.addPrice(-p);}
}
}});
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
Dish dish = dishList.get(position);
holder.name.setText(dish.getName());
holder.ing.setText(dish.getIngredients());
holder.price.setText(dish.getPrice());
}
@Override
public int getItemCount() {
return dishList.size();
}
Was ist das Problem?
Ich habe versucht, den OnClickListener auf der Bindungsansicht aufrufen, aber der gleiche Fehler weiterhin auftritt.
Rückkehr neue MyViewHolder (itemView) von onCreateViewHolder nach dem Layout Aufblasen und legen Sie den Hörer Klick in der MyViewHolder Klasse –
@NongthonbamTonthoi versuchte ich es auch außer Kraft zu setzen, aber das Problem besteht immer noch. Es dupliziert alle 6 Elemente – ghumdan16