Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为recyclerview实现淡入/淡出动画的正确方法_Android_Animation_Android Recyclerview - Fatal编程技术网

Android 为recyclerview实现淡入/淡出动画的正确方法

Android 为recyclerview实现淡入/淡出动画的正确方法,android,animation,android-recyclerview,Android,Animation,Android Recyclerview,我想知道,使用MVP模式为recyclerview items onClick事件实现淡入/淡出动画的正确方法是什么 那么我的做法是, 用户触摸项目 [在我看来] adapter.notifyItemChangedposition:Int onBindViewHolder会作出反应,这是我设置动画的地方: 覆盖乐趣项SelectedSelected:布尔值{ 如果选择{ notSoSpecialView.visibility=View.GONE specialView.startAnimatio

我想知道,使用MVP模式为recyclerview items onClick事件实现淡入/淡出动画的正确方法是什么

那么我的做法是,

用户触摸项目 [在我看来] adapter.notifyItemChangedposition:Int

onBindViewHolder会作出反应,这是我设置动画的地方:

覆盖乐趣项SelectedSelected:布尔值{ 如果选择{ notSoSpecialView.visibility=View.GONE specialView.startAnimationAnimationUtils.fadeIn specialView.visibility=View.VISIBLE }否则{ notSoSpecialView.visibility=视图.VISIBLE specialView.startAnimationAnimationUtils.fadeOut specialView.visibility=View.GONE } }

好吧,当点击项目时,它会像我预期的那样工作-它会正确地淡出/淡入,但是,当我快速向下/向上滚动时,视图会重新索引,现在,每个视图都会调用itemSelectedfalse,这会产生不必要的动画。我怎样才能避免这种情况

我确实尝试过使用specialView.clearAnimation,但没有成功。

您需要


例如,您可以参考这一点,也可以参考

中的一个非常好的资源。看起来不错,您是否尝试过notSoSpecialView.visibility=View.INVISIBLE?您可以尝试使用SetHassTableId方法,指定每个项目的唯一ID。@AntonKazakov您可以给出一个示例并解释为什么它会起作用吗只有特定id项将被设置动画