我有一个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()。