0

В моем приложении у меня есть ImageView, который может иметь изменяющийся источник. Источником всегда является Drawable, либо Bitmap, либо xml-аниматор, сделанный из drawables. Но, когда источником является анимация, я должен вызвать метод start() в Drawable и таким образом перенести его в AnimationDrawable в первую очередь.Как определить, является ли Android ImageView drawable анимационным?

Конечно, не анимированный Drawable cast to AnimationDrawable вызывает исключение ClassCastException. Я в настоящее время это поймаю, и он работает очень хорошо. Но я не доволен этим, и я бы предпочел не пытаться использовать Drawable, если это не анимация.

Есть ли способ определить тип Drawable, используемый в качестве источника ImageView, чтобы я мог использовать его только в том случае, если это анимация?

Thanks, Nicolas.

+1

"InstanceOf" оператор? – pskink

+0

java: instanceof – Selvin

+0

откуда вы можете получить? –

ответ

0

экземпляр отлично работает, спасибо!

Мой рабочий код:

Drawable drawable = imageView.getDrawable(); 
if(drawable instanceof AnimationDrawable){ 
    ((AnimationDrawable) drawable).start(); 
}