【问题标题】:Item blinking after notifyItemRemoved() called调用 notifyItemRemoved() 后项目闪烁
【发布时间】:2019-12-12 19:17:25
【问题描述】:

我对使用 DefaultItemAnimator 的 recyclerView 动画有疑问。我正在为我的最后一项(LoadingViewHolder)调用notifyItemRemoved(position)。但是由于某些未知原因,在项目被删除后,前一个项目(在 LoadingViewHolder 之前)闪烁。

我什么都试过了:

  • 我的回收站在布局中的高度是 match_parent;

  • 我的适配器有setStableIds,并正确覆盖了getItemId()

  • 我也试过用setHasFixedSize(true)

  • 我已经尝试过notifyItemRangeRemoved 1 个计数;

  • 我尝试使用notifyItemChanged,而不是删除;

只有在关闭动画时才会闪烁,但我需要这些动画。

我该如何解决这个问题?

【问题讨论】:

  • 您是否有任何机会在之前的位置上触发notifyItemChanged()
  • @BenP。我也在考虑。我会检查我的代码并给出答案
  • @BenP。没有。我已经调试了所有的通知方法,只有 notifyItemRemoved 方法正在调用
  • @BenP。谢谢您的帮助!我发现了我的问题,很简单,我将错误的索引传递给 notifyItemRemoved

标签: android android-layout android-recyclerview android-animation


【解决方案1】:

答案很简单:

检查你正在传递的位置以通知方法并保持冷静

【讨论】:

    猜你喜欢
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多