android - 更新 Recyclerview 的自定义适配器的 ViewHolder 值

标签 android android-recyclerview custom-adapter android-viewholder

我有一个带有自定义AdapterRecyclerView,用于在网格中显示矩形元素(大约15个,如果用户添加/删除项目,数量可能会改变)(使用网格布局管理器)。 RecyclerView

这些元素由 ImageViewTextView 组成。我想在收到网络请求的新结果后定期更新这两个 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/

相关文章:

android - 我应该在依赖项中使用什么版本的 recyclerview?

android - 使用自定义适配器实现可扩展的 ListView

android - 如何调用 ListView 中的按钮单击?

android - 如何更改/删除 SearchView 建议中的时钟图标

android - 如何在Kotlin中以编程方式设置闪光布局?

java - 不运行BroadcastReceiver代码

android - setFocusable 按钮点击

android - RecyclerView - 在 ItemDecoration 的 onDraw 方法中获取适配器位置?

java - 标题中带有嵌套可扩展列表的 Recyclerview

android - ListView 行中的 TextView 在 Android 滚动时显示重复值?