Cor*_*ple 2 string resources android tostring android-jetpack-compose
我将 Jetpack compose 用于 Android 应用程序。我想检索已在 Resources.Strings 中声明的字符串的字符串值。我尝试了一切,甚至上下文,但似乎没有任何效果。更具体地说,我想将 Resources 中的 String 值注册为可组合项修饰符的 contentDescription ,以便 TalkBack 可以将该值读取为用户的系统语言。即使在我使用用户方法时,调试器也会记录 int 值而不是 String .toString()。这是代码。
这是文件中的字符串values/strings.xml。
<string name="my_string">Something</string>
Run Code Online (Sandbox Code Playgroud)
这是可组合项的一些代码:
....modifier = Modifier
.fillMaxWidth()
.focusRequester(focusRequesters[1])
.clearAndSetSemantics { contentDescription = R.string.mystring.toString() }
)
val test= (R.string.my_string)
Log.d("Test",""+ test )
Run Code Online (Sandbox Code Playgroud)
调试器向 Android Studio 的 Logcat 显示一个整数值。这是 Logcat 的输出:
D/Test: 2131623845
Run Code Online (Sandbox Code Playgroud)
预期结果应该是:
D/Test: Something
Run Code Online (Sandbox Code Playgroud)
只需使用以下方法stringResource:
val test = stringResource(R.string.my_string)
Text("text",
modifier = Modifier
.fillMaxWidth()
.clearAndSetSemantics {contentDescription = test}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4824 次 |
| 最近记录: |