如何在场景动画中正确处理 RecyclerView 适配器

Posted

技术标签:

【中文标题】如何在场景动画中正确处理 RecyclerView 适配器【英文标题】:How to properly handle RecyclerView adapter in scene animation 【发布时间】:2019-07-27 00:53:36 【问题描述】:

我有两个场景要制作动画。 Scene1 包含 RecyclerView,Scene2 包含 2 个 EditText。当我使用 TransitionManger 动画从 Scene1 到 Scene2 的过渡时,一切正常。当我回到 Scene1 时,我得到了空的 RecyclerView。

我猜这是因为 Scene1 布局的新膨胀。在这种情况下,没有适配器连接到 RecyclerView。 在这种情况下,每次返回 Scene1 时是否需要重新连接回收器适配器,或者可以通过其他方式完成?

【问题讨论】:

【参考方案1】:

在进入场景 2 之前,您是否调用 finish() 方法来完成您的活动/片段?然后你需要重新初始化一切,从视图到数据。

【讨论】:

不,我不在我的活动中使用finish()。我在没有任何 finish() 方法的情况下制作动画。 我想我必须重新初始化 recyclerview 适配器。我尝试这种方式,它就像一个魅力,但看起来很丑。

以上是关于如何在场景动画中正确处理 RecyclerView 适配器的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView 适配器 notifyDataSetChanged 停止花哨的动画

RecyclerView的ItemAnimator

RecyclerView 处理动画不频繁更新

RecyclerView的Item复用导致动画不执行问题

RecyclerView 动画原理 | pre-layout,post-layout 与 scrap 缓存的关系

过滤recyclerview在刷卡时没有得到正确的卡片位置