2013-11-25 8 views
5

ho definito una matrice simile,Android riempimento singlechoiceitems con i valori ArrayList

String[] types = {"item0", "item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", "item9"}; 

volta lo riempio, io uso i suoi risultati di riempire una finestra di avviso con gli elementi a scelta singola,

AlertDialog.Builder b = new Builder(this); 
b.setTitle("Results"); 

b.setSingleChoiceItems(types, 0, new DialogInterface.OnClickListener() { 

problema è che la dimensione del risultato è variabile e l'elenco degli articoli viene riempito sempre con un valore fisso. Vorrei usare un ArrayList ma il metodo setSingleChoiceItems non lo accetta. Come raggiungerlo? Grazie

risposta

10

Usa ArrayList per costruire i tuoi articoli:

List<String> items = new ArrayList<String>(); 
items.add("this"); 
items.add("that"); 

quindi convertirlo in un array quando passa al setSingleChoiceItems:

b.setSingleChoiceItems(items.toArray(new String[items.size()]), 0, new DialogInterface.OnClickListener() { ... }); 

Se si voleva implementare una singola origine dati, si potrebbe implementare il Cursor interface ma potrebbe essere eccessivo per questo.

Problemi correlati