我正在尝试创建一个ListView
,它从用默认“字符串”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>
爪哇:
ListView lv1 = (ListView) findViewById(R.id.listViewID);
lv1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, R.array.courseNames));
但我不能将courseNames
作为参数,因为它需要一个Java数组。
答案 0 :(得分: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));