2014-01-22 5 views
0

я должен создать это:создании String [] динамически из списка <String>

listview.setAdapter(new yourAdapter(this, new String[] { "data1","data2" })); 

Но я не знаю, как создать new String[]{...} динамически.

У меня есть этот код, и я должен использовать CitazioniOutput массив:

String[] citazioni = getResources().getStringArray(R.array.citazioni); 
List<String> CitazioniOutput = new ArrayList<String>(); 
for (String value : citazioni) { 
    CitazioniOutput.add(value); 
} 

Я пробовал:

listview.setAdapter(new yourAdapter(this, CitazioniOutput)); 
//and 
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,CitazioniOutput); 
listview.setAdapter(new yourAdapter(this, adapter)); 

Но ничего не изменилось: он говорит

The constructor is undefined 

Как может Я конвертирую List<String> в String[]?

+7

Использование 'listview.setAdapter (новый yourAdapter (это, CitazioniOutput.toArray (новый String [CitazioniOutput.size()])));' Но почему бы вам не изменить свой адаптер вместо списка? –

+2

Почему вы не просто передаете citazioni, который является массивом String? Я не вижу смысла конвертировать его в список, а затем обратно в массив ... – katzoft

+0

ZouZou Большое спасибо, вы меня спасли: D Можете ли вы соединить мне страницу, в которой объясняется, как изменить адаптер, чтобы взять Список? :) @katzoft Потому что я должен редактировать каждый элемент :) – user3223863

ответ

0

Вы можете использовать метод из класса List: List.toArray(Object[]);

List<String> list = new List<String>(); 
    String[] strings = new String[list.size()]; 
    list.toArray(strings); 
Смежные вопросы