Как использовать AnimationDrawable в getView с галереей

Я создаю представление галереи, в которое я загружаю изображения из Интернета. Пока изображения загружаются, я хочу отображать анимацию в качестве заполнителя для каждого изображения. Я подумал, что это можно сделать с помощью AnimationDrawable, однако анимация не запустится. Первый кадр анимации загружается, как и ожидалось, и если я использую то же самое, например, в onWindowFoucsChanged в действии, все работает нормально.

Внутри метода getView моего GalleryItemCursorAdapter (который расширяет SimpleCursorAdapter) у меня есть следующий фрагмент:

AnimationDrawable frameAnimation = (AnimationDrawable) mContext.getResources().getDrawable(R.drawable.loading);
    holder.picture.setImageDrawable(frameAnimation);
    frameAnimation.setCallback(holder.picture);
    frameAnimation.setVisible(true, true);
    frameAnimation.start();     

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

Мои вопросы:

  1. Есть ли более простой/лучший способ отображения анимации загрузки?
  2. Что я могу сделать, чтобы приведенный выше пример работал (если это вообще возможно)?

person Gunnar Lium    schedule 13.07.2010    source источник


Ответы (1)


создайте новую тему и начните..

new Thread(new Runnable() {
    public void run(){
        // some code that runs outside the ui thread.
        frameAnimation.start();
    }
}).start();
person Kunal    schedule 21.05.2011