Wie kann ich die Anzahl von Images im Drawableordner zählen?

Bergmann2016

Bergmann2016

Neues Mitglied
4
Ich wünsche einen schönen Abend

Ich google nun schon seit rund 2 Stunden und fand nur eine Antwort, aber Android Studio will die Lösung nicht akzeptieren

Als Lösung fand ich lediglich:

Code:
Fields[] fields = R.drawable.class.getFields();

List<Integer> drawables = new ArrayList<Integer>();
for(Field field : fields){
if(field.getName().startsWith("fr")){
drawables.add(field.getInt(null));
}
}

Dann verlangt Android Studio das ich um den ganzen Code eine try-catch Schleife herum baue.

Code:
try{
Fields[] fields = R.drawable.class.getFields();

List<Integer> drawables = new ArrayList<Integer>();
for(Field field : fields){
if(field.getName().startsWith("fr")){
drawables.add(field.getInt(null));
}
}
}
catch(Exception ex){

}

Aber wenn ich es mache, ist
Code:
Fields[] fields = R.drawable.class.getFields();
rot unterstrichen und ich bekomme die Meldung "Unreachable statement".


Kann jemand von euch weiterhelfen?

Das ist das Erstemal das ich mit reflect.Field arbeite und auch das Erstemal das ich versuche die Resourcen auszulesen bzw. zu zählen.

Für das Verständnis, meine App soll nach einem click alle Bilder im Drawable zählen, die mit einem bestimmten String beginnen (hier "fr"). Und anschließend sollen nur die gezählten Bilder angezeigt werden. Die Zählung benötige ich um bestimmen zu können, wieviele ImageViews und TextViews erzeugt werden müssen.

Ich hoffe das ihr mir weiterhelfen könnt.
 
Hallo Bergman,

Deine Vorgehensweise ist schon ungewöhnlich - Resourcen sind statisch und im Allgemeinen weis der Entwickler eh , wieviel vorhanden sind. Warum möchtest Du sie denn zur Laufzeit nochmal zählen ??

So was löst man mit den Assets, die dann bei der Installation in /data/packes/files ausgelagert werden (synchronisiert) können und mittels Filelist eingelesen werden.


Hier etwas zur zum Lesen
pocketsphinx-android/Assets.java at master · cmusphinx/pocketsphinx-android · GitHub
 
Zuletzt bearbeitet:
"Unreachable statement" - Der Code wird niemals erreicht. Du muss vorher irgendwo ein Abfrage habe, die dafür sorgt, das der Code nie aufgerufen wird.
 

Ähnliche Themen

W
  • whazza
Antworten
0
Aufrufe
713
whazza
W
FabianDev
Antworten
5
Aufrufe
560
swa00
swa00
Tiefkuehlpizza
  • Tiefkuehlpizza
Antworten
0
Aufrufe
769
Tiefkuehlpizza
Tiefkuehlpizza
Zurück
Oben Unten