我为不同的TextView和 其中很多与以下相同:
<string name="total">total</string>
<string name="totalWithColon">total:</string>
<string name="date">date</string>
<string name="dateWithColon">date:</string>
.
.
.
有些地方是不需要的,而在某些地方需要使用Colon(:)
,但另一种方式是这样的: 定义一个eah主词,然后定义一个对冒号(:)的响应
<string name="total">total</string>
<string name="date">date</string>
.
.
.
<string name="colon">:</string>
.
.
.
但是这种方式需要调用getString,也许需要定义变量
val combinStr1 = getString(R.string.total) + getString(R.string.colon)
val combinStr1 = getString(R.string.date) + getString(R.string.colon)
或直接使用
myveiw.text = getString(R.string.date) + getString(R.string.colon)
我的问题是,哪种代码对性能更好?
答案 0 :(得分:0)
由于您正在使用Kotlin,
您可以尝试创建Context类的扩展功能,例如:
fun Context.getStringWithColon(stringResId : String) :
String = getString(stringResId) + " : "
然后在您的代码中,您将像这样简单地使用它:
myveiw.text = getStringWithColon(R.string.date)
答案 1 :(得分:0)
您不必在资源中存储一切,尤其是在:
,-
等情况下。
我的意思是,不会用char符号无论如何都需要更改或不需要翻译。
除非绝对必要,否则除非如此。
在科特林中,您可以像这样使用string interpolation:
val combinStr1 = "${getString(R.string.total)}:"
简单易读。