2010-06-08 3 views
5

dopo la creazione di alcuni menu con simple_list_item_1 (che funzionava molto bene) ho provato a sostituire questo con simple_list_item_2, ma il mio sistema getta in giro con eccezioni ...simple_list_item_2 in Android

Ora sto chiedendo come creare un tale due-diverse-line-entry per la mia lista ... c'è qualche trappola per i principianti? Qualcuno può aiutarmi a risolvere il problema (piccolo !?)?

Il mio codice è simile al seguente:

ListAdapter listAdapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_2, fileNames); 
setListAdapter(listAdapter); 

miei String[] fileNames memorizza tutte le stringhe da visualizzare in ordine crescente (questo è importante per la funzionalità ?!)

Dopo aver invano alla ricerca in alcuni forum Ora spero che qualcuno di voi possa darmi un suggerimento utile.

bei saluti, poeschlorn

risposta

10

simple_list_item_2 è diverso, invece di un TextView contiene una TwoLineListItem contenente due TextViews. ArrayAdapter non funzionerà qui, perché il costruttore che stai usando si aspetta solo un TextView; basta guardare lo constructors. Invece dovrai creare un adattatore personalizzato o usarne uno che lo supporti come SimpleCursorAdapter o (penso) SimpleAdapter. This guy ha una soluzione un po 'hacky che potrebbe funzionare per te.

+0

ciao, grazie per la tua risposta :) Ho intenzione di provare questo e dirti se/come funziona – poeschlorn

+0

ciao di nuovo, l'ho provato e ha funzionato molto bene ... l'unica cosa che non capire è, perché c'è una mappa (o HashMap) necessaria? – poeschlorn

+2

Immagino perché l'uso previsto è davvero quello di estrarre dati da cose che sono già in coppie chiave-valore, quindi ha senso per quello scopo. Non c'è ragione per cui non ci possa essere, ad esempio, un 2dArrayAdapter o qualcosa del genere. A proposito, ecco un altro buon esempio di utilizzo: http://stackoverflow.com/questions/2227154/how-do-i-fill-a-listview-in-android-with-xml-or-json-data/ 2227377 # 2227377 –