Bild-Name an Layout-Datei (ImageView) übergeben

  • 3 Antworten
  • Letztes Antwortdatum
D

DragonGirl

Neues Mitglied
0
Hallo!

Mein Android-Projekt soll aus einer Datenbank bestehen, die Text und Bilder (nur der Dateipfad bzw. Name) beinhaltet.

Mit den Texten hatte ich keine Probleme. Diese konnte ich problemlos über die TextViews anzeigen lassen. Nur bei den Bildern klappt es nicht.

Ich habe das Ganze mal vereinfacht um den genauen Fehler zu finden, also ohne Datenbank nur die Stelle mit dem Bild getestet. Hier sind die zugehörigen Quellcode-Ausschnitte:

StartseiteActivity.java

private ImageView ausgabe_bbild;

In der "onCreate"-Methode:

Resources res = getResources();
int resID = res.getIdentifier("test" , "drawable", getPackageName());
Drawable drawable = res.getDrawable(resID);
ausgabe_bbild = (ImageView) findViewById(R.id.ausgabe_bbild);
ausgabe_bbild.setImageDrawable(drawable);

startseite.xml

<ImageView
android:contentDescription="@string/beschreibung"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@+id/ausgabe_bbild"/>


Im Anhang sind Screenshots der Fehlermeldung.

Hoffentlich kann mir jemand weiter helfen. Mittlerweile habe ich mehrere Stunden im Internet nach einer Lösung gesucht, aber leider nichts gefunden.
Vielleicht ist es auch nur ein kleiner Fehler, den ich übersehen habe :rolleyes2:
 

Anhänge

  • 1.JPG
    1.JPG
    146,7 KB · Aufrufe: 203
  • 2.JPG
    2.JPG
    159,9 KB · Aufrufe: 187
Dem Log nach würde ich mal versuchen, das src-attribut für das ImageView zu entfernen.

So wie ich das sehe entsteht beim inflaten ein Fehler, weil es kein Drawable mit der ID findet.
Also einfach mal aus kommentieren und dann nochmal versuchen ;)

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Danke! Das hat geklappt. Anstatt src einfach id nehmen.
Und ich dachte die ganze Zeit, dass man bei ImageView src nehmen muss, weil in unseren Beispielen nur das verwendet wurde.
 
Naja src ist ja der Verweis auf die Bilddatei, die in der ImageView angezeigt werden soll.
Wenn also immer das gleiche Bild angezeigt werden soll reicht es das in src anzugeben, id muss dann nicht angegeben werden.

Wenn das Bild aber wie bei dir dynamisch geändert wird brauchst du die id, um die View im Code zu finden.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Zurück
Oben Unten