Android中getString无法读取字符串资源URL中/后的路径问题
问题原因及解决办法
1. 核心问题:资源名称不匹配
你在strings.xml中定义的字符串资源名称是url,但调用时使用的是getString(R.string.lowell_privacy_policy_url),两者名称完全不一致,导致你读取的根本不是目标URL资源,自然无法获取完整内容。
2. 额外排查点(修正名称后仍有问题时)
- 检查资源覆盖情况:确认其他values变体文件夹(如
values-zh、values-v23等)下的strings.xml没有定义同名资源,避免读取到其他文件中被截断的版本。 - 验证字符串转义:如果URL后续包含
&、<、>这类XML特殊字符,需要用转义符替代(比如&代替&),否则XML解析器会截断内容。
解决步骤
- 统一资源名称:
- 要么修改调用代码,使用正确的资源名:
getString(R.string.url) - 要么修改strings.xml中的资源名称,与调用端保持一致:
<string name="lowell_privacy_policy_url" translatable="false">https://www.mycomp.in/our-privacy-promise/app-privacy-notice/</string>
- 要么修改调用代码,使用正确的资源名:
- 重新编译项目:执行
Build -> Clean Project和Build -> Rebuild Project,确保资源文件被正确编译生效。
内容的提问来源于stack exchange,提问作者Kunal Shetti
相关产品推荐
相关产品推荐

