Ich arbeite an einem POS-Verwaltungssystem, bei dem der Benutzer einen Artikel aus einer Produktliste auswählen und die ausgewählten Werte in eine Checkliste hinzufügen kann. Ich kann erfolgreich einen neuen Artikel in die Checkliste nach einem Klick auf die Produktliste, aber kann nicht eine Checkliste Artikel Menge, die bereits zuvor hinzugefügt wurde. Siehe das Bild für eine klare Demonstration,Die Menge des vorhandenen Listenelements aktualisieren, anstatt ein neues Element hinzuzufügen.
Aus dem Bild können Sie sehen, dass jedes Element Produkt wurde als neues Element in Checkliste hinzugefügt stattdessen die Menge der Aktualisierung.
Ich suche nach einer Lösung, um die Checklistenmenge zu aktualisieren, nachdem ich auf einen Artikel aus der Produktliste geklickt habe.
Hier ist meine auf Klick-Listener für das Produktliste recyclerview,
recyclerProducts.addOnItemTouchListener(
new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
// TODO Handle item click
// productList is the arraylist used in product list
Products product = productList.get(position);
Contents c = new Contents();
c.setTitle(product.getName());
c.setQuantity(product.getQuantity());
orderList.add(c);
recyclerListAdapter.notifyDataSetChanged();
}
})
);
Hier ist der Adapter für Checkliste,
private List<Contents> contentsList;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title;
public TextView quantity;
public MyViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.txtTitle);
quantity = (TextView) view.findViewById(R.id.txtQuantity);
}
}
public RecyclerListAdapter(List<Contents> contentsList) {
this.contentsList = contentsList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_product, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Contents contents = contentsList.get(position);
holder.title.setText(contents.getTitle());
holder.quantity.setText("1");
}
@Override
public int getItemCount() {
return contentsList.size();
}
Sie werden nicht viel Hilfe bekommen, ohne die Implementierung/den Code zu teilen. Bitte mach es. – alan7678
Bitte den entsprechenden Code hinzufügen. –
Frage aktualisiert mit Codes! – user2582686