我有一个ListView可以使用回收视图。我正在尝试防止视图回收。
所以我用setHasTransientState:

android.support.v4.view.ViewCompatJB.setHasTransientState(View view,boolean hasTransientState)

它在Jellybean版本上效果很好,但在Api 有没有办法使它起作用,或者有不同的方法来做豆形软糖?

我发现了如何设置 @Daniel Chow 建议的RecyclerListener。

listView.setRecyclerListener(new RecyclerListener() {
        @Override
        public void onMovedToScrapHeap(View view) {
            // Stop animation on this view
        }
});

最佳答案

对于Jellybean之前的版本,我认为您可以只在ListView上使用setRecyclerListener,并在调用RecyclerListener#onMovedToScrapHeap(View view)时,清除已回收的视图上的动画,并直接完成应该在动画结束时完成的最终工作。

onMovedToScrapHeap(View view)中的代码取决于实现动画的方式,例如如果您以前使用View#startAnimation开始动画,则可以调用View#clearAnimation()。

08-18 18:42
查看更多