从RecyclerView中的每一行获取EditText值

时间:2019-11-13 16:33:48

标签: android android-recyclerview

我使用RecyclerViewFirestoreRecyclerAdapter来显示要订购的可用产品列表。此外,每行EditText都将输入他们想要多少精确的产品。

因此,如何通过单击按钮从View.Holder(holder for my adapter)中获取所有字段

Image of app

1 个答案:

答案 0 :(得分:1)

假设您有一个 Food 模型的列表;

class Food{

    private String drinkName;
    private String drinkPrice;
    private String editTextValue;

    // getter setter
}

在模型中为editTextValue添加新的变量/属性。

private String editTextValue;

在editText中实施 AddTextChangeListener ,以监听用editText编写的内容。

@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
     vhItem.yourEditText.addTextChangedListener(new TextWatcher() {
                        @Override
                        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {


                        }

                        @Override
                        public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
                                                   yourModel.setEditTextValue(editable.toString()); }

@Override
public void afterTextChanged(Editable editable) {
     yourModel.setEditTextValue(editable.toString());
    // setEditTextValue is function from getter setter
     }
                    });
    }

所有editText值及其位置都将存储在模型列表中。