2016-02-19 25 views
1

我試圖做一個ListView從默認的'字符串'XML編寫的數組讀取。我的想法是,當我在Java類中創建一個數組適配器時,我不能直接將適配器引用到XML值。該適配器請求一個Java值,它引發了我的問題中最重要的部分:如何將XML字符串數組轉換爲Java字符串數組?如何將XML中的'字符串數組'轉換爲Java中的字符串數組?

這裏是我的(相關)到目前爲止的代碼:

XML:

<string-array name="courseNames"> 
    <item>Lesson 1</item> 
    <item>Lesson 2</item> 
    <item>Lesson 3</item> 
    <item>Lesson 4</item> 
    <item>Lesson 5</item> 
    <item>Lesson 6</item> 
</string-array> 

的Java:

ListView lv1 = (ListView) findViewById(R.id.listViewID); 

lv1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, R.array.courseNames)); 

但是,因爲它需要一個Java數組我不能把courseNames作爲參數。

回答

1
<string-array name="courseNames"> 
    <item>Lesson 1</item> 
    <item>Lesson 2</item> 
    <item>Lesson 3</item> 
    <item>Lesson 4</item> 
    <item>Lesson 5</item> 
    <item>Lesson 6</item> 
</string-array> 

在這種情況下,你可以使用:

List<String> Lines = Arrays.asList(getResources().getStringArray(R.array.courseNames)); 
+0

我試過,但它仍然無法在圖形佈局顯示過程的名稱。編輯:沒關係,它沒有顯示在圖形佈局中,但它在移動設備上測試時顯示出來。謝謝! – kaio37k

+0

是的,你不會得到一個列表視圖填充工作室,除非它在模擬器或設備上執行!如果這有幫助,請將其標記爲答案! :) – OBX

相關問題