为什么从strings.xml 中删除第一个空格

问题描述

当我从 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)

我得到的只是“koSara”而不是“koSara

可能有一些通配符,比如  在 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 代码 &quot;(与 " 相同)

<string name="s_basket_hun">&quot; kosara&quot;</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">&#160;kosara</string>

您可以像这样获取字符串,但 Android Studio 无论如何都希望您使用第一个。

val cellValue = "$CustomerName ${resources.getString(R.string.s_basket_hun)}"