У меня следующая ситуация: на моем экране вид переработчика. По умолчанию он имеет 3 объекта с пустыми переменными. ViewHolder для этого вида рециркулятора содержит 2 EditTexts
. И мне нужно сделать это представление переработчика таким образом, чтобы каждый раз, когда пользователь вводил что-то в EditText
, это значение также должно было быть установлено в соответствующую переменную объекта, который принадлежит этому элементу. Например, есть EditText
, где пользователь может ввести название продукта. Это имя должно быть добавлено в EditText, а также это имя должно быть установлено в качестве значения переменной product.name. Вот как теперь выглядит этот экран:
А вот как реализован адаптер:
public class BillProductsAdapter extends RecyclerView.Adapter<BillProductsAdapter.ViewHolder> {
private List<StockItem> stockItems = new ArrayList<>();
public BillProductsAdapter() {
stockItems.add(new StockItem());
stockItems.add(new StockItem());
stockItems.add(new StockItem());
}
public void addRow() {
stockItems.add(new StockItem());
notifyDataSetChanged();
}
public List<StockItem> getStockItems() {
return stockItems;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.bill_product_element, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return stockItems.size();
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return R.layout.bill_product_element;
}
static class ViewHolder extends RecyclerView.ViewHolder {
EditText name;
EditText amount;
ViewHolder(@NonNull View itemView) {
super(itemView);
name = itemView.findViewById(R.id.name_et);
amount = itemView.findViewById(R.id.amount_et);
}
}
}
Метод Когда я нажимаю кнопку «Сохранить», выполняется выполнение get, поэтому я пытался реализовать получение значений logi c в этом методе, но я не смог их получить, поскольку здесь нет параметра viewHolder
. Итак, я буду признателен за любую помощь. Заранее спасибо!