android资源字符串%

时间:2015-12-09 03:08:01

标签: android string resources

现在我在android字符串资源中遇到%的疑问。问题如下:

如果我想在其他语言中使用%符号,例如中文。我必须在/values-zh-rCN/strings.xml中添加格式化字符串formatted =“false”。

是的,字符串标记必须具有格式化属性。

但是,它无法在英语语言的/values/strings.xml中添加此格式化的属性。它编译成功,运行良好。

为什么?

我在android开发者网站上找不到任何答案。

ps:我如何在stackoverflow编辑器中编写尖括号。我是大一新生。

Java代码:

autoDownloadLayout.findViewById(R.id.setItemContent)).setText(R.string.setting_auto_update_title_1_subtitle);

/values/strings.xml:

<string name="setting_auto_update_title_1_subtitle">Automatically download updates when connected to Wi-Fi, when the battery level is greater than 30% and CPU usage is less than 50%</string>

/values-zh-rCN/strings.xml:

<string formatted="false" name="setting_auto_update_title_1_subtitle">"仅在 WLAN 网络,手机电量高于 30% 且 CPU 占用率低于 50% 时,预先下载游戏更新包"</string>

1 个答案:

答案 0 :(得分:0)

与默认字符串相比,检查翻译字符串时,Android Lint似乎有不同的想法。这是一个未解决的问题(Issue 74959)(虽然这不是你的问题)。从技术上讲,您应该将formatted="false"添加到/values中的字符串以及/values-zh-rCN中的字符串中。

或者,您可以将所有文字百分号都编码为&#37;(或&#x25;)。这可能是最简单(风险最小)的方法。