我正在学习Jetpack Compose,并为我的孩子制作了一个闪存卡应用程序。一切正常,现在我正尝试重构它,以遵循最佳实践。它指出,你不应该使用硬编码文本,并把你的字符串在res/values/strings.xml文件。我已经这样做了我所有的字符串,但这一个似乎混乱和过于复杂。有更好的方法来做到这一点吗?
text = "You scored $answersCorrect out of 10 in $totalTime seconds" //Original String
text = "${stringResource(R.string.You_scored)} $answersCorrect ${stringResource(
R.string.Out_of)} $totalTime ${stringResource(R.string.Seconds)}"
<string name="You_scored">You scored </string>
<string name="Out_of"> out of 10 in</string>
<string name="Seconds"> seconds</string>
它们都能工作,但我觉得有更好的方法来实现第二个示例。
1条答案
按热度按时间nvbavucw1#
您不需要将文本拆分为3个字符串资源,只需定义要传入字符串res的参数,并在获取资源时将其传入即可
在XML中
作曲时
以上示例假定answersCorrect和totalTime是数值,如果要传递字符串,请使用%1$s,而不是%2$s