作为头衔。
在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

08-17 18:37