调用了Recyclerview notifyItemRangeInserted,但视图未更新

时间:2019-03-15 08:26:40

标签: android android-recyclerview

我在RecyclerView上遇到一个令人讨厌的问题,它可以正确获取数据,但是视图不会自行重绘。 我目前正在使用androidx.recyclerview:recyclerview:1.1.0-alpha01。

最近我有机会进行复制,这些都是我到目前为止发现的。

  1. RecyclerView不为null。 (我正在使用kotlin扩展名)
  2. RecyclerView附带了适配器。
  3. RecyclerView附带了LayoutManager。
  4. 我更深入地研究了RecyclerView代码。
    • notifyItemRangeInserted()内部调用observables.notifyItemRangeInserted()。
    • 在notifyItemRangeInserted()中,它调用AdapterHelper.onItemRangeInserted,并返回是否有任何未决更新。如果没有任何未决的更新,则将调用triggerUpdateProcessor,并且视图应自行更新。就我而言,由于某些原因 pendingUpdates未被清除,因此对于所有永久的pendingUpdates,视图均未更新 enter image description here enter image description here

这可能是一个非常模糊的问题,因为我无法提供导致此问题的特定代码(它不会崩溃触发)。

我什至找不到精确的方法来重现它。我发现的唯一一件事是,当将应用程序一遍又一遍变成前景/背景时,它“经常”发生。 (SaveInstanceState可能是一个原因,但是我没有覆盖它,因此它正在执行其默认功能)

有人可以提供任何暗示或至少一些有关此问题的知识吗? 甚至任何临时权宜之计都可以..(也许强迫recyclerView清除所有未决的Intents ...) 准备提供其他信息。

谢谢

0 个答案:

没有答案