我有一个带有自定义Adapter
的RecyclerView
,用于在网格中显示矩形元素(大约15个,如果用户添加/删除项目,数量可能会改变)(使用网格布局管理器)。
这些元素由 ImageView
和 TextView
组成。我想在收到网络请求的新结果后定期更新这两个 View (比如每 2 分钟一次)。
更新这些 View 的最佳方式是什么?如何识别特定的ViewHolder
?如何访问这些元素的 ViewHolder
值?最好在我想要更改的 Activity
中保留对每个 ViewHolder
的引用吗?或者我应该使用新值创建一个新元素并用它替换当前元素?什么被认为是最佳实践?
最佳答案
如果您将 ImageView 和 TextView 的值存储在数组列表中,则当数据集发生更改时,您可以在适配器上调用notifyDataSetChanged。
例如,如果您有一个 Grid 对象,其属性包括图像 uri(用于设置图像)和字符串(用于在 TextView 中设置)以及一些数组列表,请说
List<Grid> gridList = new ArrayList<>();
您可以更新在 Arraylist 中获得的任何新数据,并在完成数组列表中的更新后调用
adapter.notifyDataSetChanged();
关于android - 更新 Recyclerview 的自定义适配器的 ViewHolder 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478728/