2012-03-13 3 views
0

У меня есть анимация в одном элементе списка. После прокрутки списка, когда элемент списка с анимацией начал невидимым, я прокручиваю назад элемент списка с анимацией, но анимация больше не работает.Анимация в элементе ListView не работает после прокрутки

getView() method : 

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

?

UPDATE:

Это неправильный вопрос или нет какие-нибудь идеи?

ответ

0

Вы предполагаете, что каждый раз, когда прокручивается представление (или становится видимым для вас), анимация начнет воспроизведение. Но это неправда, представление не может быть видимым еще в памяти, поэтому, когда вы прокручиваете его и становится видимым, метод getView() не будет вызываться. Вот почему это плохая практика, чтобы помещать анимации в список. Я предлагаю вам реализовать весь обзор самостоятельно, если это то, что вам больше всего нужно делать.

+0

Ваши объяснения точны, но это не значит, что вы не должны использовать анимацию в элементах списка. Многие приложения делают это очень эффективно: вам просто нужно понять, как «ListView» управляет элементами списка. –

+0

@ DanHulme Но как вы решаете проблему, когда начинать играть в анимацию? За исключением случаев, когда анимация случайно запускается или всегда воспроизводится. –

Смежные вопросы