将 Strings.xml 中的 String-Array 更改为 ArrayList

Posted

技术标签:

【中文标题】将 Strings.xml 中的 String-Array 更改为 ArrayList【英文标题】:Change String-Array in Strings.xml to ArrayList 【发布时间】:2013-10-08 06:07:50 【问题描述】:

我正在开发一个 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?

【问题讨论】:

【参考方案1】:

试试这个;

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

这适用于 kotlin:

val Lines = resources.getStringArray(R.array.Lines).toList()

【讨论】:

如果我想要一个包含列表的 ArrayList 怎么办? @G.Ciardini ArrayList&lt;String&gt; lines = new ArrayList&lt;String&gt;(Arrays.asList(getResources().getStringArray(R.array.Lines)));【参考方案2】:

在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));

【讨论】:

【参考方案3】:

如果有人想知道如何在 kotlin

中做同样的事情
val universities = arrayListOf<String>(*resources.getStringArray(R.array.universities))

universities 将是 ArrayList&lt;String&gt;

【讨论】:

【参考方案4】:

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

将字符串数组添加到arraylist:

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

将一个 ArrayList 添加到另一个:

newList.addAll(oldList);

【讨论】:

以上是关于将 Strings.xml 中的 String-Array 更改为 ArrayList的主要内容,如果未能解决你的问题,请参考以下文章

将参数传递给 strings.xml ANDROID 中的字体大小

strings.xml 中的参数是不是可能? [复制]

Android中strings.xml字符串中的粗体字

Proguard 不会混淆 android 中的 strings.xml

使用strings.xml 在数据库上存储多语言值的最佳方法?

Android中的strings.xml文件出错