gpt4 book ai didi

android - ListView动画刷新适配器android

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:35 24 4
gpt4 key购买 nike

我有一个带适配器的 ListView。当我单击 ListView 上的项目时,适配器被清除并填充新内容。我想应用两个动画,一个是在适配器被清除时(从适配器中移除时项目向左滑动),另一个是在新项目添加到适配器时(新元素向右滑动)。

所以当我点击一个项目时我想做的是:

listView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.slide_to_left));    
clearAdapter();
listView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.slide_to_right));
setItems(newItemList);//Refresh adapter with new items

我的问题是只显示了第二个动画。

关于我做错了什么或为什么这不起作用的任何建议?

谢谢。

解决方案

我已经能够通过添加这样的动画监听器来解决这个问题。

    Animation animationOut = AnimationUtils.loadAnimation(context, R.anim.slide_to_left);
animationOut.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
clearAdapter();
}

@Override
public void onAnimationEnd(Animation animation) {
listView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.slide_to_right));
setItems(newList);// update content adapter
}
}

@Override
public void onAnimationRepeat(Animation animation) {

}
});
listView.startAnimation(animationOut);

是否可以同时显示两个动画?当我们清除适配器并将它们滑动到左侧时,列表的新内容从右侧通过动画输入。

最佳答案

注释掉第二个动画代码(最后两行),然后查看第一个动画是否正常工作。如果工作正常,则尝试在第一个动画和第二个动画之间添加 Thread.sleep 几秒钟。

关于android - ListView动画刷新适配器android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22502068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com