У меня есть следующий FirestoreRecyclerAdapter
public class AdaptadorVentaCervezas extends FirestoreRecyclerAdapter<Cerveza, AdaptadorVentaCervezas.ViewHolder> {
public AdaptadorVentaCervezas(@NonNull FirestoreRecyclerOptions<Cerveza> options) {
super(options);
}
@Override
public AdaptadorVentaCervezas.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.venta_cervezas, parent, false);
return new AdaptadorVentaCervezas.ViewHolder(view);
}
class ViewHolder extends RecyclerView.ViewHolder {
public TextView txtNombre, txtCantidad;
public Button btnMenos, btnMas;
public String CervezaID;
public ViewHolder(View itemView) {
super(itemView);
txtNombre = (TextView) itemView.findViewById(R.id.txtNombre);
txtCantidad = (TextView) itemView.findViewById(R.id.txtCantidad);
btnMenos = (Button) itemView.findViewById(R.id.btMenosCerveza);
btnMenos.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int cantidad = VentaActivity.cantidadCervezaMap.get(CervezaID)-1;
VentaActivity.cantidadCervezaMap.put(CervezaID, cantidad);
txtCantidad.setText(Integer.toString(cantidad));
}
});
btnMas = (Button) itemView.findViewById(R.id.btMasCerveza);
btnMas.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int cantidad = VentaActivity.cantidadCervezaMap.get(CervezaID)+1;
VentaActivity.cantidadCervezaMap.put(CervezaID, cantidad);
txtCantidad.setText(Integer.toString(cantidad));
}
});
}
}
@Override
protected void onBindViewHolder(@NonNull AdaptadorVentaCervezas.ViewHolder holder, int position, @NonNull Cerveza item) {
holder.txtNombre.setText(item.getNombre());
holder.CervezaID = item.getId(); //Id the field, not the ID of the document
VentaActivity.cervezaMap.put(holder.CervezaID,item);
VentaActivity.cantidadCervezaMap.put(holder.CervezaID, 0);
}
}
В основной деятельности реализация следующая: 1006 *
Query query = FirebaseFirestore.getInstance()
.collection("Cervezas").whereEqualTo("disponibilidad", true)
.limit(50);
opciones = new FirestoreRecyclerOptions
.Builder<Cerveza>().setQuery(query, Cerveza.class).build();
adaptador = new AdaptadorVentaCervezas(opciones);
recyclerView = findViewById(R.id.reciclerViewVentaCervezas);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adaptador);
Это работает отлично. Теперь у меня возникают проблемы при попытке добавить кнопку к основному действию, которая при нажатии на нее присваивает «0» значение txtCantidad каждому элементу в представлении реселлера. Как я могу получить доступ к textViews из реселлера и установить новый текст?
Спасибо