我必须从我的资源/值文件连接这两个字符串:

<string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on </string>
<string name="Toast_Memory_GameWon_part2"> flips !</string>

我是这样做的:

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();

而是在第一个弦的末尾和第二个弦的开头 (在播放祝酒词时)……

我该怎么办?

我想答案就在这个文档链接中

或者类似于使用&对于“&”字符??


当前回答

如果你需要空间用于以后将它与其他字符串连接,那么你可以使用字符串格式化方法,在你的字符串定义中添加参数:

<string name="error_">Error: %s</string>

然后格式化字符串(例如如果服务器返回错误,则使用getString(r.r string.string_resource_example)):

String message = context.getString(R.string.error_, "Server error message here")

结果是:

Error: Server error message here

其他回答

即使使用字符串格式,有时仍然需要在字符串的开头或结尾使用空格。对于这些情况,使用\或xml:space属性都无济于事。你必须使用HTML实体&#160;对于空格。

使用& # 160;对于不可分割的空格。 使用& # 032;对于常规空间。

我对Android没有特别的想法,但这看起来像通常的XML空白处理-元素中的前导和尾随空白通常被认为是无关紧要的并被删除。尝试xml:空间:

<string name="Toast_Memory_GameWon_part1" xml:space="preserve">you found ALL PAIRS ! on </string>
<string name="Toast_Memory_GameWon_part2" xml:space="preserve"> flips !</string>

工作得很好 我正在使用\u0020

<string name="hi"> Hi \u0020 </string>
<string name="ten"> \u0020 out of 10  </string>
<string name="youHaveScored">\u0020 you have Scored \u0020</string>

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();

截图 此处显示此代码的工作图像

它不适用于xml:space="preserve"

所以我用了最快的方法=>

我只是在需要的地方加了一个+" "+…

String message_all_pairs_found = getString(R.string.Toast_Memory_GameWon_part1)+" "+total_flips+" "+getString(R.string.Toast_Memory_GameWon_part2);

还有使用CDATA的解决方案。例子:

<string name="test"><![CDATA[Hello          world]]></string>

但总的来说,我认为\u0020已经足够好了。