我尝试了很多组合,但不知怎的,我没有得到它。
生成我要显示的文本的ID。
我需要在这里写一个变量而不是具体的id 。
所以不是:
getString(R.string.id_1)
但是像:
var myId = ...
getString(R.string."$myId")
你知道我的意思吗?我试过什么我得到一个只有Int的错误。
你如何在Kotlin解决这个问题?
答案 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>)
这只是一个想法,我没有尝试过。 让我知道它是否有效。
快乐编码:)