68

我正在开发一个 Android 应用程序。我需要将字符串数组转换为 ArrayList。我已经阅读了这一点,并且都有将值添加到 java 文件中的数组的情况。我已经在 strings.xml 文件中声明了字符串数组。我的字符串数组在这里:

<string-array name="Lines">
    <item>Red Line</item>
    <item>Blue Line</item>
    <item>Orange Line</item>
    <item>Green Line</item>
    <item>Brown Line</item>
    <item>Purple Line</item>
    <item>Pink Line</item>
    <item>Yellow Line</item>
</string-array>

我需要将 Lines 转换为 ArrayList。如果我用这个

List<String> Lines = new ArrayList<String>();

要声明 ArrayList,如何通过 ID 找到数组列表,并将其存储为 Lines?

4

4 回答 4

173

尝试这个;

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

这对于科特林:

val Lines = resources.getStringArray(R.array.Lines).toList()
于 2013-10-01T22:40:32.423 回答
4

在strings.xml中,添加字符串数组

<string-array name="dashboard_tags">
    <item>Home</item>
    <item>Settings</item>
</string-array>

在您的 .java 类中访问字符串数组,如

List<String> tags = Arrays.asList(getResources().getStringArray(R.array.dashboard_tags));
于 2018-07-22T06:19:12.070 回答
4

如果有人想知道如何在kotlin中做同样的事情

val universities = arrayListOf<String>(*resources.getStringArray(R.array.universities))

universities将会ArrayList<String>

于 2019-09-13T04:08:36.237 回答
0

这是没有任何警告的最佳做法

将字符串数组添加到arraylist:

Collections.addAll(Lines, getResources().getStringArray(R.array.Lines));

要将一个 ArrayList 添加到另一个:

newList.addAll(oldList);
于 2019-09-21T10:28:15.413 回答