Android | Kotlin |如何在getString()中使用变量ID获取文本

时间:2018-03-21 12:27:25

标签: android kotlin

我尝试了很多组合,但不知怎的,我没有得到它。

生成我要显示的文本的ID。

我需要在这里写一个变量而不是具体的id

所以不是:

getString(R.string.id_1)

但是像:

var myId = ... 
getString(R.string."$myId")

你知道我的意思吗?我试过什么我得到一个只有Int的错误。

你如何在Kotlin解决这个问题?

2 个答案:

答案 0 :(得分:3)

尝试以下代码,它适用于您:

fun AppCompatActivity.getString(name: String): String {
   return resources.getString(resources.getIdentifier(name, "string", packageName))
}

Usage: val resource = getString($resourceName);

答案 1 :(得分:-1)

如果要动态访问字符串资源,则必须创建类似下面的模式

string.xml

<string name="abc">Hello</string>
<string name="abc1">Hello1</string>
<string name="abc2">Hello2</string>
<string name="abc3">Hello3</string>

java代码

getString(R.string.abc+<index>)

这只是一个想法,我没有尝试过。 让我知道它是否有效。

快乐编码:)