Ich arbeite an einem Android-Projekt, und ich habe viele Zeichensätze. Diese Zeichen werden alle wie icon_0.png
, icon_1.png
... icon_100.png
benannt. Ich möchte alle Ressourcen-IDs dieser Zeichenobjekte zu einer ArrayList von Ganzzahlen hinzufügen. (Für diejenigen, die Android nicht kennen, nur Java, ich spreche über statische Variablen, in einer statischen inneren Klasse einer Klasse, wie R.drawable.icon_0
. Alle diese statischen Variablen sind Ganzzahlen.)
Gibt es einen effizienteren Weg dies zu tun, als sie einzeln hinzuzufügen? Wie
%Vor%Kann ich sie irgendwie durchlaufen? Wie
%Vor%Ich habe keine Kontrolle über die Datei, in der diese statischen Ganzzahlen sind, und ich kann die Zeichen in Laufzeit nicht erstellen.
Jede Hilfe wäre willkommen!
BEARBEITEN
Okay, ich habe die Antworten gelesen, aber ich habe ein großes Problem: Ich habe keinen Zugriff auf Context
Instanzen, wo ich dieses Array / diese Liste von IDs erstellen muss (ich mache das in einem statischen initialzer Block) , so die Methode getResources (), was zwei der vorgeschlagenen Antworten nicht funktionieren. Gibt es einen anderen Weg, dies zu tun?
Eine Möglichkeit wäre die Verwendung der Reflexions-API.
Etwas in die Richtung ...
%Vor%Ich habe das nicht getestet, aber Sie bekommen die Idee.
Erstellen Sie eine XML-Datei im Ordner values
in Ihrem resource
-Verzeichnis.
Gehen Sie durch den folgenden Code, Sie werden die Idee bekommen.
%Vor%Hier ist, was ich getan habe:
%Vor%Ich bin mir sicher, dass es nicht der schnellste Weg ist, aber es funktioniert. Ich werde die Lösung von AljoshaBre akzeptieren, denn seine Antwort hat mich zu dieser Lösung geführt.
Danke allen für die Hilfe!