Chciałbym przechowywać identyfikator zasobów do rysowania w postaci R.drawable.*
wewnątrz tablicy przy użyciu pliku wartości XML, a następnie pobrać tablicę w mojej aktywności.
Jakieś pomysły, jak to osiągnąć?
android
arrays
android-xml
android-drawable
android-resources
gammaraptor
źródło
źródło
Odpowiedzi:
Używasz wpisanej tablicy w
arrays.xml
pliku w swoim/res/values
folderze, która wygląda następująco:Następnie w swojej aktywności uzyskaj do nich dostęp w następujący sposób:
źródło
W
value
folderze utwórzxml
nazwę plikuarrays.xml
w ten sposób dodaje do niego daneNastępnie uzyskaj go do swojego kodu w ten sposób
Następnie, aby użyć
Drawable
z nichimg
TypedArray
na przykład jakoImageView
background
użyj następującego kodugdzie
index
jestDrawable
indeks.defaultValue
to wartość, którą podajesz, jeśli nie ma w tym pozycjiindex
Aby uzyskać więcej informacji na temat,
TypedArray
odwiedź ten link http://developer.android.com/reference/android/content/res/TypedArray.htmlźródło
Możesz użyć tego do stworzenia szeregu innych zasobów, takich jak przedmioty do rysowania. Zauważ, że tablica nie musi być jednorodna, więc możesz utworzyć tablicę mieszanych typów zasobów, ale musisz wiedzieć, jakie i gdzie typy danych znajdują się w tablicy.
I zdobądź zasoby w swojej działalności w ten sposób
Cieszyć się!!!!!
źródło
sposób kotlin mógłby być taki:
źródło
W Kotlinie możesz: -
Otrzymasz tablicę Image z zasobu jako
TypedArray
pobierz identyfikator zasobu przez indeks
LUB możesz ustawić zasób imageView na id
i na koniec ponownie przetworzyć tablicę
źródło
O ile wiem, nie możesz przechowywać tablic w R.drawable.
To, co możesz zrobić, to utworzyć tablicę w config.xml lub strings.xml, która odwzorowuje ścieżkę do zasobu do rysowania przy użyciu zasobu aliasu .
Sprawdź, czy to zadziała, i daj mi znać, jeśli potrzebujesz dodatkowej pomocy.
źródło