Hub*_*ert 334 android string-concatenation
我必须从我的资源/值文件连接这两个字符串:
<string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on </string>
<string name="Toast_Memory_GameWon_part2"> flips !</string>
Run Code Online (Sandbox Code Playgroud)
我是这样做的:
String message_all_pairs_found = getString(R.string.Toast_Memory_GameWon_part1)+total_flips+getString(R.string.Toast_Memory_GameWon_part2);
Toast.makeText(this, message_all_pairs_found, 1000).show();
Run Code Online (Sandbox Code Playgroud)
但是第一个字符串末尾和第二个字符串开头的空格已经消失(当显示Toast时)......
我该怎么办 ?
我想答案就在这个文档链接的某处
或者它是否像使用& ;"&"字符?
due*_*ssi 482
即使您使用字符串格式,有时您仍然需要在字符串的开头或结尾处使用空格.对于这些情况,既没有逃避\,也没有xml:space属性帮助.您必须将HTML实体 用于空格.
使用 非易碎的空白.
使用 正规的空间.
Dav*_*Gin 470
我遇到了同样的问题.我想在表示屏幕字段名称的资源字符串末尾留空.
我在这个问题报告中找到了一个解决方案:https://github.com/iBotPeaches/Apktool/issues/124
这与Duessi建议的想法相同.\u0020直接在XML中插入您想要保留的空白.
示例:
<string name="your_id">Score :\u0020</string>
Run Code Online (Sandbox Code Playgroud)
替换是在构建时完成的,因此不会影响游戏的性能.
小智 131
本文档建议引用将起作用:
<string name="my_str_spaces">" Before and after? "</string>
Run Code Online (Sandbox Code Playgroud)
小智 35
我只是在strings.xml文件中使用UTF代码"\ u0020".
<string name="some_string">\u0020The name of my string.\u0020\u0020</string>
Run Code Online (Sandbox Code Playgroud)
效果很好.(Android喜欢UTF代码)
kya*_*y10 14
这个问题可能很旧,但截至目前,最简单的方法是添加引号.例如:
<string name="Toast_Memory_GameWon_part1">"you found ALL PAIRS ! on "</string>
<string name="Toast_Memory_GameWon_part2">" flips !"</string>
Run Code Online (Sandbox Code Playgroud)
可能有不同宽度的空间:
<string name="space_demo">| | | ||</string>
Run Code Online (Sandbox Code Playgroud)
| 空间| 薄的空间| 头发空间| 没有空间|
可视化:
如果你真的想按照你的方式去做那么我认为你必须通过逃避它来告诉它空白是相关的:
<string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on\ </string>
<string name="Toast_Memory_GameWon_part2">\ flips !</string>
Run Code Online (Sandbox Code Playgroud)
但是,我会使用字符串格式.类似于以下内容:
<string name="Toast_Memory_GameWon">you found ALL PAIRS ! on %d flips !</string>
Run Code Online (Sandbox Code Playgroud)
然后
String message_all_pairs_found = String.format(getString(R.string.Toast_Memory_GameWon), total_flips);
Run Code Online (Sandbox Code Playgroud)
小智 5
运行良好,我正在使用 \u0020
<string name="hi"> Hi \u0020 </string>
<string name="ten"> \u0020 out of 10 </string>
<string name="youHaveScored">\u0020 you have Scored \u0020</string>
Run Code Online (Sandbox Code Playgroud)
Java文件
String finalScore = getString(R.string.hi) +name+ getString(R.string.youHaveScored)+score+ getString(R.string.ten);
Toast.makeText(getApplicationContext(),finalScore,Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
此处的屏幕截图显示此代码的工作的图像
| 归档时间: |
|
| 查看次数: |
144399 次 |
| 最近记录: |