我有一组存储在数组中的资源 ID。这是在回收器 View 中访问以填充 ImageView 。问题是当我访问数组时,返回的所有值都是 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.
可绘制对象仅位于 hdpi 文件夹中。
最佳答案
这样做:
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();
关于java - 资源 ID 的整数数组返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43307243/