作为标题。
在getView()中的我尝试标记每个项目,如果它已经应用了动画。 如果没有,那就应用它。代码如下:
final View finalV = v;
if (finalV.getTag() == null) {
finalV.setTag(true);
finalV.animate().alpha(1).setDuration(1000).setInterpolator(new DecelerateInterpolator()).withEndAction(new Runnable() {
@Override
public void run() {
finalV.animate().alpha(0).setDuration(1000).setInterpolator(new AccelerateInterpolator()).start();
}
}).start();
}
但它没有像我预期的那样工作。我怎么能这样做?
答案 0 :(得分:2)
您应该使用带有ItemAnimator的RecyclerView。我想您使用的是ListView,因为RecyclerView适配器不再使用getView()方法。
如果您选择升级到RecyclerView,您可以根据自己的喜好自定义ItemAnimator,并且不必担心会记住'你有动画的项目和你没有的项目
看一下这篇文章: