【问题标题】:Android - RecyclerView Animation notifyItemChanged after notifyItemRemovedAndroid - 在 notifyItemRemoved 后 RecyclerView 动画 notifyItemChanged
【发布时间】:2016-04-09 12:02:26
【问题描述】:

我的 RecyclerView defaultItemAnimator 有问题。当我使用 notifyItemRemoved() 删除我的一个项目时,我还会在另一个特定索引上调用 notifyItemChanged() 以更改其中的文本。在删除动画期间,我调用 notifyItemChanged() 的项目会更改其文本,但会执行一些看起来很傻的动画,像拇指酸痛一样突出。 (它会立即移动到新位置,而其余的则平稳移动到新位置)

有没有办法在 notifyItemRemoved() 完成时得到通知,以便我可以调用 notifyItemChanged()?

【问题讨论】:

标签: android android-animation android-recyclerview


【解决方案1】:

一个可能的解决方案是设置一个处理程序。 获取notifyItemRemoved()和notifyItemChanged()的Animation类源码。方法里面应该有以下几行:

 animation.setDuration(getRemoveDuration())
            .alpha(0).setListener(new VpaListenerAdapter() {
        @Override
        public void onAnimationStart(View view) {
            dispatchRemoveStarting(holder);
        }

在 animateRemoveImpl() 方法内。

去声明的

getRemoveDuration()

并获得价值。 在处理程序内部设置 getRemoveDuration() 的 postDelay 和 notifyItemChange()。 处理程序可能看起来像:

handler.postDelayed(notifyItemChanged, theDurationValue); }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多