2014-01-22 43 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())));'但是,爲什麼不修改適配器來取代List呢? –

+2

你爲什麼不只是傳遞一個字符串數組的citazioni?我沒有看到將它轉換成列表然後返回到一個數組... – 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); 
相關問題