2012-03-13 94 views
0

我在一个listview项目中有动画。滚动列表后,当动画开始的列表项不可见时,我正在使用动画滚动回到列表视图项目,但动画不再起作用。ListView项目中的动画在滚动后不起作用

getView() method : 

iv.setImageResource(R.drawable.anim); 
iv.requestFocus();    
((AnimationDrawable) iv.getDrawable()).start(); 

UPDATE:

是不是错了问题或者有没有什么想法?

回答

0

您假设每当视图被滚动(或变得对您可见)时,动画将开始播放。但事实并非如此,视图可能不可见,但仍然存在于内存中,所以当您滚动视图并且它变得可见时,getView()方法将不会被调用。这就是为什么在列表中放入动画是一种不好的做法。如果这是你最想做的事情,我建议你自己实现整个视图。

+0

你的解释是正确的,但这并不意味着你不应该在列表项中使用动画。许多应用程序都非常有效地做到这一点:您只需了解ListView是如何管理列表项的。 – 2013-08-26 11:51:55

+0

@DanHulme但是,如何解决何时开始播放动画的问题?除了动画是随机开始还是始终播放的情况。 – 2013-08-27 06:40:25