1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. RolfW, 26.11.2010 #1
    RolfW

    RolfW Threadstarter Neuer Benutzer

    Hallo
    Ich versuche seit einiger Zeit Drawables anhand eines Namens zu laden, was jedoch nicht funktionieren will.
    Ich habe in res/drawables ein klasse_1.png Image gespeichert und versuche es wie folgt zu laden.

    String file = "klasse_1";
    int res = this.getResources().getIdentifier(
    file, null, getPackageName());
    Drawable drawable = this.getResources()
    .getDrawable(res);

    Das Ergebnis von res ist immer 0.

    Wenn ich folgendes ausführe wird das Image gefunden.
    Drawable drawable1 = this.getResources()
    .getDrawable(R.drawable.klasse_1);

    Das kann ich jedoch nicht gebrauchen, da ich den Image Namen aus einem File lese.

    Kann mir da jemand einen Tipp geben??

    Besten Dank und Gruss Rolf
     
  2. FireDragon, 27.11.2010 #2
    FireDragon

    FireDragon Neuer Benutzer

    Hiho,
    ich hoffe das kann dir weiterhelfen:

    String dateiname = "klasse_1";
    int id = this.getResources().getIdentifier(dateiname, "drawable", getPackageName());
    Drawable bild = this.getResources().getDrawable(id));

    der Fehler lliegt an deinem Null wert, dieser gibt den Ordner an worunter du etwas speicherst, liegt Musik z.B. im Raw Ordner musst du "raw" reinschreiben :)

    LG
    Basti
     
  3. RolfW, 29.11.2010 #3
    RolfW

    RolfW Threadstarter Neuer Benutzer

    Danke Basti, das hat geholfen. :smile:
    In der Doku steht bei getIdentifier(String name, String defType, String defPackage)
    Paramters:
    .........
    defType Optional

    Das hat mich veranlasst da nichts mitzugeben.

    Gruss Rolf