将 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.CiardiniArrayList<String> lines = new ArrayList<String>(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<String>
【讨论】:
【参考方案4】:这是最好的做法,没有任何警告
将字符串数组添加到arraylist:
Collections.addAll(Lines, getResources().getStringArray(R.array.Lines));
将一个 ArrayList 添加到另一个:
newList.addAll(oldList);
【讨论】:
以上是关于将 Strings.xml 中的 String-Array 更改为 ArrayList的主要内容,如果未能解决你的问题,请参考以下文章
将参数传递给 strings.xml ANDROID 中的字体大小
Proguard 不会混淆 android 中的 strings.xml