drawable reference

  • 4 Antworten
  • Letztes Antwortdatum
B

Bolic

Neues Mitglied
0
Hey,

an so blöden Sachen verzweifelt man öftermal:

Code:
item.setIcon(R.drawable.ic_drawer);

Denke, dass dieser kleine Schnipsel schon ausreicht:

setIcon erwartet ein ImageIcon. Doch nur wie werde ich dem genüge?
R.drawable.ic_drawer ist ja letztlich nur ein int Wert..


Möchte quasi ein Bild mit ins item speichern, welches letztlich in einem ListView Platz finden wird

Daanke ;)
Grüße Bolic
 
Du kannst dir ein ImageIcon durch den integer holen.
Such mal nach getRessources().getDrawables() oder sowas aehnliches ;-)

Gesendet von meinem Nexus 10 mit der Android-Hilfe.de App
 
  • Danke
Reaktionen: Bolic
Code:
String planet = getResources().getStringArray(R.array.planets_array)[i];

int imageId = getResources().getIdentifier(planet.toLowerCase(Locale.getDefault()), "drawable", getActivity().getPackageName());
((ImageView) rootView.findViewById(R.id.image)).setImageResource(imageId);

Damit kannst du dir dann verschiedene Bilder je nach index(i) holen ;)
 
  • Danke
Reaktionen: Bolic
Ah Danke!

Habe nun aber noch eine Frage:

Code:
public class GeratPool{

	private HashSet<Gerat> set = new HashSet<Gerat>();
	private Gerat gerat;
	
	public GeratPool(){
		
		set.add(new Gerat(
				"Sandsack", //Name
				0, //id
				80, //kosten
				getResources().getDrawable(R.drawable.ic_drawer))); //bild
	}
...
...

Mein Problem ist also, dass das getResources ins leere greift, weil ich eben in einer Klasse im Hintergrund gerade arbeite. (Soll Bestandteil eines customized BaseAdapters werden)

Wenn ich davor, meine Activity schreibe (MainActivity) kommt der Fehler, dass diese non-static nicht static aufrufen kann.

Der ursprüngliche Beitrag von 21:09 Uhr wurde um 23:01 Uhr ergänzt:

Habe nun doch das Problem selber lösen können.

java - How can I get a resource content from a static context? - Stack Overflow

Hier steht die Antwort auf die letze Frage. Und es sieht dann wie folgt aus:

Code:
MainActivity.getMContext()
				.getResources().getDrawable(R.drawable.ic_drawer))
 
Zuletzt bearbeitet:
Dann musst du im Konstruktor deiner Klasse den context übergeben und das vor getResources setzen

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