Android 从RecyclerView中的每一行获取EditText值
我使用Android 从RecyclerView中的每一行获取EditText值,android,android-recyclerview,Android,Android Recyclerview,我使用RecyclerView和FirestoreRecyclerAdapter显示要订购的可用产品列表。此外,还将根据EditText为每行输入他们想要的确切产品数量 那么,如何通过单击按钮从View.Holder(我的适配器的Holder)获取所有字段呢 假设你有一个食物的列表模型 class Food{ private String drinkName; private String drinkPrice; private String editTextValue
RecyclerView
和FirestoreRecyclerAdapter
显示要订购的可用产品列表。此外,还将根据EditText
为每行输入他们想要的确切产品数量
那么,如何通过单击按钮从View.Holder(我的适配器的Holder)
获取所有字段呢
假设你有一个食物的列表模型
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值将与其位置一起存储在您的型号列表中。请说明您迄今为止所做的尝试这是否回答了您的问题?不,没有。首先,我不知道它是如何工作的。也就是说,它没有FirestoreRecyclerAdapter。你还有其他想法吗?没有textWatcher我能获得价值吗?何时单击按钮?否。您不能。首先,尝试在活动中实现它,然后在recyclerview中尝试。只要假设正在监视编辑文本,任何更改都会触发它。以及在文本更改时或文本更改后向模型添加值。单击按钮时,如何访问模型列表?(请记住它是由FirestoreRecyclerAdapter管理的)您可以使用接口从“活动”访问您的列表,或者如果列表是公共的,则只需执行adapter.yourArrayList即可。