development

리소스 ID의 정수 배열 만들기

big-blog 2020. 12. 4. 19:45
반응형

리소스 ID의 정수 배열 만들기


res/drawable폴더에 이미지가 있습니다. 하자 말 img1.png, img2.png하고 img3.png. 현재 Java에서 이러한 이미지 ID의 정수 배열을 다음과 같이 만들고 있습니다.

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).


"정수 배열"대신 "배열"만 사용하십시오. 개발자 가이드에서 형식화 된 배열참조하세요 .


참조 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을 . 정확히 원하는 것은 아니지만 거의 달성 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/5347107/creating-integer-array-of-resource-ids

반응형