安卓 | 科特林 | 如何在 getString() 中使用变量 ID 获取文本

use*_*681 5 android kotlin

我尝试了很多组合,但不知何故我不明白。

生成了我要显示的文本的 id。

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

所以不是:

getString(R.string.id_1)
Run Code Online (Sandbox Code Playgroud)

但类似:

var myId = ... 
getString(R.string."$myId")
Run Code Online (Sandbox Code Playgroud)

你懂我的意思吗?我曾经尝试过的错误只有一个 Int。

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

Dha*_*tel 5

试试下面的代码,它会为你工作:

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

Usage: val resource = getString($resourceName);
Run Code Online (Sandbox Code Playgroud)