问题描述
当我从 string.xml 调用一些东西时,我得到的更少,删除,第一个空格。为什么?
<string name="s_basket_hun"> koSara</string>
<string name="s_basket_en">s basket</string>//removed the apostrophe
val cellValue = CustomerName + resources.getString(R.string.s_basket_hun)
可能有一些通配符,比如 在 html 中
解决方法
Android 资源系统就是这样工作的。
如果要保留尾随空格,可以将值括在双引号中,例如
<string name="s_basket_hun">" kosara"</string>
,
检查参考https://developer.android.com/guide/topics/resources/string-resource#escaping_quotes
是正常的在您的资源之后发生空白折叠和 Android 转义 文件被解析为 XML。这意味着 (空格、标点符号空格、Unicode Em 空格)全部 折叠为一个空格 (" "),因为它们都是 Unicode 空格 在文件被解析为 XML 之后。保留这些空间,因为它们 是,您可以引用它们(“ ") 或使用 Android 转义 ( \u0032 \u8200 \u8195)。
所以你有三个选择
1- 使用 "
<string name="s_basket_hun">" kosara"</string>
2- 使用 HTML 代码 "
(与 "
相同)
<string name="s_basket_hun">" kosara"</string>
3- 通过代码添加空格
val yourString = resources.getString(R.string.s_basket_hun)
val cellValue = "$CustomerName $yourString"
,
资源修剪了那个空白。我建议你使用它而不是连接客户名称和字符串
<string name="s_basket_en">%s basket</string>
val cellValue = resources.getString(R.string.s_basket_hun,CustomerName)
但是如果你仍然想像那样使用你可以使用这个:
<string name="s_basket_en"> kosara</string>
您可以像这样获取字符串,但 Android Studio 无论如何都希望您使用第一个。
val cellValue = "$CustomerName ${resources.getString(R.string.s_basket_hun)}"