页面有一个ListView, 没行有发送短信的标题,还有一个View来展现发送状态。其中,发送中的状态要求用旋转的图片。
我用的是AnimationDrawable来实现旋转图片。
下面是AnimationDrawable的xml。res/drawable/rotate.xml.
1 <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
2 android:drawable="@drawable/spinner_black_16"
3 android:pivotX="50%"
4 android:pivotY="50%"
5 android:fromDegrees="0"
6 android:toDegrees="+350"
7 android:duration="3000"
8 />
然后在Adapter的getView()里进行判断。
如果是发送中的话,
1 view.setBackground(R.Drawable.rotate);
2 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
3 frameAnimation.start();
所有的消息都是发送中的状态。然后我进入此页面,发现所有的消息的view都没有旋转。然后将列表上下滑动,有些被遮住再显示出来后就旋转了,被遮住再显示出来而还是不转,重复多次,所有的就都转起来了。為什麼呢?
我开文档上说 AnimationDrawable.start();不能在onCreat()里调用。但是的frameAnimation.start()是在adapter 的 getView()里的,应该是onstart()的时候才会调吧?
而且在此页面停留,增加一个新的发送中短信,它的view也不转,它getView()肯定不是onCreate()里的。
哪位大拿帮忙解答一下,不胜感激!