我正在开发一个Android应用程序,其中我在Recyclerview的适配器行中编辑了文本。现在我想得到用户在活动中输入的这些编辑文本值的总和。我为此目的使用了以下代码:
PUB/SUB
现在的问题是,我只能查看屏幕上可见的项目,而不是全部。例如,如果我在Recyclerview中共有10个项目,并且屏幕上只显示3个项目,那么我只能获得屏幕上可见的3个项目的总和。
到目前为止,我已经使用其他选项来获取编辑文本:
int count = listArray.size();
int sum = 0;
for (int i = 0; i < count; i++) {
LinearLayout ll = (LinearLayout) mRv_products.getLayoutManager().findViewByPosition(i);
if (ll != null) {
Log.v("TAG", "Item considered:" + i);
EditText t = (EditText) ll.findViewById(R.id.edt_quantity_ship_now);
String amount = t.getText().toString().trim();
if (!amount.isEmpty())
sum += Float.parseFloat(amount);
}
}
和
mRv_products.findViewHolderForAdapterPosition(i);
答案 0 :(得分:1)
首先在你的适配器类中创建一个字符串数组列表。
private ArrayList<String> list;
在适配器构造函数中初始化此列表并创建其getter setter,然后在onBindViewHolder()方法中添加editext textchangelistener并在此侦听器中使用onchangedtext()方法添加以下代码
list.set(position,edittext.getText().toString);
现在,您可以通过getter获取所有edittext值,然后使用字符串构建器组合所有值。
答案 1 :(得分:0)
以下是我要做的事情:
任何adapterView的recyclerView的主要主题是您的视图可能存在也可能不存在,但您的项目列表始终存在。所以,始终更新&amp;根据您的要求使用您的项目列表。它会对你有所帮助。
希望它会对你有所帮助。提前谢谢。