有没有办法访问每个 RecyclerView Holder?
Is there way to acces every RecyclerViewHolder?
我有一个 recyclerview,其中的数据会在应用程序的生命周期中发生变化,假设在我的 recycler view holders 中,我有一个带有填充数据的 edittext 字段,但我希望用户有权更改该数据,有没有一种方法可以在按下按钮时以某种方式同时访问所有这些文本字段?
嗯,您可以在回收视图适配器中保留 2 个并行列表吗?一个具有主要数据,另一个在用户更改编辑文本时更新。
一旦用户按下更新按钮,您只需将数据从 list2(修改后的数据)复制到 list1(原始)并更新回收站视图。
例如
在 onBindviewholder() 内部
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
// find your edittext to set a listener for text change
// get the current item from list2 (list2 has same item originally as the original list)
keep updated the list2 data here.
}
主要activity一旦用户按下按钮你就可以
adapter.mainList = new ArrayList<>(adapter.list2)
adapter.notifyDataSetChanged()
我有一个 recyclerview,其中的数据会在应用程序的生命周期中发生变化,假设在我的 recycler view holders 中,我有一个带有填充数据的 edittext 字段,但我希望用户有权更改该数据,有没有一种方法可以在按下按钮时以某种方式同时访问所有这些文本字段?
嗯,您可以在回收视图适配器中保留 2 个并行列表吗?一个具有主要数据,另一个在用户更改编辑文本时更新。
一旦用户按下更新按钮,您只需将数据从 list2(修改后的数据)复制到 list1(原始)并更新回收站视图。
例如
在 onBindviewholder() 内部
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
// find your edittext to set a listener for text change
// get the current item from list2 (list2 has same item originally as the original list)
keep updated the list2 data here.
}
主要activity一旦用户按下按钮你就可以
adapter.mainList = new ArrayList<>(adapter.list2)
adapter.notifyDataSetChanged()