java - 如何从字符串 xml (android) 中获取多个字符串
问题描述
在我的活动中,我需要从中获取一组值string.xml
并将它们添加到我的 mutableList 中。像这样手动检索它们很不方便:
specArray.add(R.string.string1)
specArray.add(R.string.string2)
specArray.add(R.string.string3)
specArray.add(R.string.string4)
//...
我试图将它包装在一个循环中,结果是这样的:
var count = 0
var specArray = mutableListOf<String>()
val stringCustom = "specC"
var buffer = getString(R.string.stringCustom)
while(count <= 36) {
specArray.add(buffer)
buffer = getString(string)
val specArray = mutableListOf<String>()
count++
}
但显然它不起作用,因为我们无法指定包含stringCustom的资源路径。
解决方案
在这种情况下,您可能需要使用String 数组:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
</string-array>
</resources>
以及在 Kotlin 中检索项目的代码:
val array: Array = resources.getStringArray(R.array.planets_array)
或 Java:
Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);
推荐阅读
- cobol - 如何修复 RPT 文件中的重复字段?
- java - 调用片段方法给出空对象引用
- java - 检查应用程序是否已打开并收到有关它的一些警报
- laravel - @edit Route 不起作用...显示 404 not found
- ios - 在 React-native 项目中使用 rn-nodeify 的问题
- android - 如何在私人服务器上连接 Sentry?
- elasticsearch - 使用过滤器根据嵌套字段值修改弹性搜索分数
- python - Python - 生成二维浮点值的随机列表
- java - 为什么 mvn exec:java 给出 IllegalThreadStateException 而 java -cp 没有?
- flutter - 如何以编程方式从 WebView 中的全屏退出?