Помогло размещение функции запуска в отдельном исполняемом модуле, хотя я все еще не гарантировал, что она будет работать во всех случаях. Попробуйте сначала.
View v = convertView;
final ImageView downloadButton = (ImageView) v.findViewById(R.id.imageview);
downloadButton.setBackgroundResource(R.anim.your_animation);
AnimationDrawable spinningImage = ((AnimationDrawable)downloadButton.getBackground());
downloadButton.post(new Runnable() {
@Override
public void run() {
AnimationDrawable spinningImage = ((AnimationDrawable)
downloadButton.getBackground());
spinningImage.start();
}
});
EDIT
Кроме того, поскольку это в ListAdapter, проблема может заключаться в том, что ваш ListView не делает недействительными его дочерние элементы. В своей основной деятельности попробуйте запустить:
_listView.post(new Runnable(){
public void run(){
_listView.invalidateViews();
}
});
Когда вы хотите обновить содержимое. Также возможно отключить ваши кеши.
_listView.setAnimationCacheEnabled(false);
_listView.setDrawingCacheEnabled(false);