Я пытаюсь реализовать анимированный drawable со следующим...
<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item android:drawable="@drawable/load_0000" android:duration="50" />
<item android:drawable="@drawable/load_0001" android:duration="50" />
<item android:drawable="@drawable/load_0002" android:duration="50" />
<item android:drawable="@drawable/load_0003" android:duration="50" />
<item android:drawable="@drawable/load_0004" android:duration="50" />
<item android:drawable="@drawable/load_0005" android:duration="50" />
<item android:drawable="@drawable/load_0006" android:duration="50" />
<item android:drawable="@drawable/load_0007" android:duration="50" />
<item android:drawable="@drawable/load_0008" android:duration="50" />
<item android:drawable="@drawable/load_0009" android:duration="50" />
</animation-list>
Однако, когда я выполняю следующий код, я возвращаю нулевой указатель...
ImageView img = (ImageView)findViewById(R.id.load_bar);
img.setBackgroundResource(R.drawable.loader_animation); //null here.
Почему? loader_animation - это имя файла, и оно расположено в drawable/
Проблема заключается в том, что img
имеет значение null:
Есть ли вид в xml, который вы загрузили с помощью setContentView
(или раздутым и добавленным в contentView), который имеет идентификатор load_bar
?
Имейте в виду, просто перехватывая какой-либо XML файл или загружая его позже, не работает. findViewById находит текущие представления!
Если вы его не загрузили, используйте inflater
.