2013-11-25 13 views
5

ich ein Array definiert wie,android fill singlechoiceitems Dialog mit Arraylist Werte

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

Sobald ich es füllen, ich die Ergebnisse verwenden, um einen Alarm Dialog mit einzelnen Wahl Artikel zu füllen,

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

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

Problem ist das Ergebnis Größe ist variabel und Artikel Liste ist immer mit festen Wert gefüllt. Ich möchte eine ArrayList verwenden, aber die Methode setSingleChoiceItems akzeptiert sie nicht. Wie erreiche ich es? Danke

Antwort

10

Verwenden Arraylist Ihre Artikel zu bauen:

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

Dann wandelt es in ein Array, wenn es um setSingleChoiceItems vorbei:

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

Wenn Sie eine einzelne Datenquelle implementieren wollten, könnten Sie Implementieren Sie die Cursor interface, aber das könnte für diese Overkill sein.