我想知道,使用MVP模式为recyclelerview项目(onClick事件)实现淡入/淡出动画的正确方法是什么。
嗯,我的方法是:
[在我的视图中]
adapter.notifyItemChanged(position: Int)
onBindViewHolder()
做出反应,这就是我设置动画的地方:
override fun itemSelected(selected: Boolean) {
if (selected) {
notSoSpecialView.visibility = View.GONE
specialView.startAnimation(AnimationUtils.fadeIn())
specialView.visibility = View.VISIBLE
} else {
notSoSpecialView.visibility = View.VISIBLE
specialView.startAnimation(AnimationUtils.fadeOut()
specialView.visibility = View.GONE
}
}
嗯,它按照我预期的方式工作时点击了项目 - 它正确淡出/淡出,但是,当我快速向下/向上滚动时,视图会被重新加入,现在,每个视图调用itemSelected(false)
这会产生不必要的动画。我怎么能避免这个?
我确实尝试使用specialView.clearAnimation()
,但这不起作用。