Создание целочисленного массива идентификаторов ресурсов
у меня есть несколько изображений в моем . Скажем img1.png
,
img2.png
и img3.png
. В настоящее время я создаю целочисленный массив этих идентификаторов изображений в Java, как это
int[] imgIds = {R.drawable.img1, R.drawable.img2, R.drawable.img3};
вместо этого, можно ли создать целочисленный массив в одном из res/values
файлы (скажем strings.xml
) такой
<integer-array name="img_id_arr">
<item>@drawable/img1</item>
<item>@drawable/img2</item>
<item>@drawable/img3</item>
</integer-array>
а затем получить доступ к нему в Java через getResources().getIntArray(R.array.img_id_arr)
?
3 ответа:
используйте только " array "вместо"integer-array". Смотрите Типизированный Массив в руководстве разработчика.
посмотреть XML целочисленный массив, ссылки на ресурсы, getIntArray
TypedArray ar = context.getResources().obtainTypedArray(R.array.my_array); int len = ar.length(); int[] resIds = new int[len]; for (int i = 0; i < len; i++) resIds[i] = ar.getResourceId(i, 0); ar.recycle(); // Do stuff with resolved reference array, resIds[]... for (int i = 0; i < len; i++) Log.v (TAG, "Res Id " + i + " is " + Integer.toHexString(resIds[i]));
сделать LevelListDrawable. Хотя это не совсем то, что вы хотите, но почти достижимым.