我想在将新项目添加到我的ListView(它是一个消息传递应用程序)时添加动画。在我的ArrayAdapter的getView()
方法中使用以下代码,这非常好用:
if (!entry.isAnimationDone() && SharedPrefs.accessSettings(getContext()).getBoolean("ani_message_send", true)) {
Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.slide_in_bottom);
animation.setAnimationListener(new AnimationListenerAdapter() {
@Override
public void onAnimationEnd(Animation animation) {
entry.animationFinished();
}
});
convertView.startAnimation(animation);
}
但我的消息应用程序还实现了消息状态(小图标,指示对方是否已下载或阅读我的消息)。当此状态发生更改时,将调用notifyDataSetChanged()
以使UI表示此状态。
问题是,如果在动画仍在进行的情况下发生这种情况经常发生,我的动画将重新启动,这会导致一个小故障的GUI。
我已经在互联网上搜索了一段时间,但我无法找到问题的解决方案。是否有其他方法可以实现添加动画,或者是否存在针对此故障的修复方法?
非常感谢任何帮助。