提问人:Eva 提问时间:1/22/2023 更新时间:7/20/2023 访问量:1575
为什么 Jetpack Compose 预览显示错误的字符串资源?
Why does Jetpack Compose preview show the wrong string resources?
问:
有时,当我在可组合项中使用字符串资源时,预览会显示错误的字符串。它总是适用于文字字符串,只有字符串资源是错误的。该错误不一致。
例如,如果我有这个字符串 .xml:
<resources>
<string name="app_name">Violit</string>
<string name="load_topic_failure_message">Something went wrong loading the topic</string>
</resources>
我有这个可组合的:
@Composable
fun TopicFailureContent() {
Text(stringResource(R.string.load_topic_failure_message))
}
@Preview(showBackground = true)
@Composable
fun TopicFailureContentPreview() {
TopicFailureContent()
}
它可能会呈现类似“部分选中”或“导航菜单”之类的内容,而不是“加载主题时出错”。
如果我将可组合项更改为:
@Composable
fun TopicFailureContent() {
Text("Something went wrong loading the topic")
}
它可以正确呈现预览。
看起来预览可能正在渲染附近的字符串,而不是我想要的字符串。字符串资源在测试和运行应用时工作正常。只是预览并不总是有效。
我正在使用 Android Studio Electric Eel 2022.1.1,但我在以前的版本中也遇到了同样的问题。这在 Compose UI 版本 1.2.1 和 1.3.3 上都失败。
知道为什么字符串资源在预览中并不总是有效以及如何修复它吗?
答: 暂无答案
评论
stringResource(R.string.hello_world)