Android: 更新 ListView 中的单个项目而不冻结其他项目

Android: Updating single item in ListView without freezing the others

我有一个 ListView,其中包含异步更新的项目(它们的内容已更改或项目被完全删除)。为此,我更新了 ListView 适配器的数据集,然后在适配器上调用 notifyDatasetChanged()。这很有效,但是每个项目都有一个 ProgressBar(旋转),表示该项目尚未更新。当其中一项的更新到达并调用 notifyDatasetChanged() 时,其他项的 ProgressBar 会冻结片刻,这似乎是一种糟糕的用户体验。我还在我的适配器中使用 ViewHolder 模式。

有没有一种方法可以只更新 ListView 的一个项目,而不冻结所有其他项目?

考虑使用 RecyclerView - 它有多种 notify...() 方法。
看看 this one - 我想你可以使用它。
你可以简单地制作类似的东西:

mAdapter.notifyItemChanged(itemChangedIndex);