Tengo un conjunto de identificadores de recursos almacenados en una matriz. Se accede a esto dentro de la vista del reciclador para completar una vista de imagen. El problema es que cuando accedo a la matriz, todos los valores devueltos son 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.Los elementos de diseño están solo en la carpeta hdpi.
Hacer esto:
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();