2017-04-09 4 views
4

배열에 저장된 자원 ID 집합이 있습니다. 이는 리사이클 러 뷰에서 액세스하여 이미지 뷰를 채 웁니다. 문제는 내가 배열에 액세스 할 때 반환되는 모든 값은 드로어 블 만 hdpi에 폴더에있는 0정수 ID 배열이 0을 반환합니다.

// arrays.xml 
<array name="array_category_icons"> 
    <item>@drawable/autumn</item> 
    <item>@drawable/backpack</item> 
</array> 

// inside recycler view adapter 
int[] myIcons = getActivity().getResources().getIntArray(R.array.array_category_icons); 

myIcons[i] always returns 0. 

입니다.

답변

5

이 작업을 수행 :

TypedArray ta = getResources().obtainTypedArray(R.array.array_category_icons); 
Drawable[] icons = new Drawable[ta.length()]; 
for (int i = 0; i < ta.length(); i++) { 
    int id = ta.getResourceId(i, 0); 
    if (id != 0) { 
     icons[i] = ContextCompat.getDrawable(this, id); 
    } 
} 
ta.recycle();