questa è la mia prima volta qui (trovo il sito molto utile). Sono nuovo di Android e ho bisogno di scoprire perché non riesco a caricare le immagini in modo dinamico nella mia visualizzazione elenco.drawable getResources(). GetIdentifier problem
Ho tre array di stringhe:
private String lv_arr[]={"News",
"Events",
"Other"};
private String lv_arr_d[]={"Get the latest news",
"Latest events",
"Other description here"};
private String lv_arr_icons[]={"news", "events", "other"};
Mia lista visualizza un'icona a sinistra e due righe di testo a destra in ogni voce dell'elenco. Funziona bene quando indico il nome dell'immagine (ad esempio notizie).
ArrayList <HashMap <String, Object>> users =
new ArrayList <HashMap <String, Object>>();
int l = lv_arr.length;
for (int i = 0; i <l; i++) {
HashMap <String, Object> user = new HashMap <String, Object>();
//get icons
String uri = "drawable/"+lv_arr_icons[i];
user.put ("icon", (Drawable)getResources().getDrawable(
getResources().getIdentifier(uri, null, getPackageName())));
//the above works ok if i set R.drawable.news
user.put ("label", lv_arr[i].toString());
user.put ("description", lv_arr_d[i].toString());
users.add (user);
}
String[] names = {"icon", "label", "description"};
int[] views = {R.id.icon, R.id.label, R.id.description};
SimpleAdapter saImageItems = new SimpleAdapter(this.getApplicationContext(),
users, R.layout.optionslistitem, names, views);
lv1.setAdapter(saImageItems); //lv1 is my ListView
Tutte le immagini si trovano nella cartella dei disegni. Qualche idea del perché nessuna immagine viene caricata quando provo a trasmettere il loro nome e a riceverlo dalle risorse?
funziona come un fascino. grazie. – NickOpris