作为头衔。
在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();
}
但它并不像我想象的那样工作。我怎么能那样做?
最佳答案
您应该对itemanimator使用recyclerview。我想您正在使用ListView,因为RecyclerView适配器不再使用getView()方法。
如果选择升级到RecyclerView,则可以根据需要自定义itemAnimator,并且不必担心“记住”已设置动画的项和未设置动画的项。
看看这篇文章:
Replacing ListView with RecyclerView