我如何空间getString字?

时间:2017-08-23 16:42:32

标签: java android xml string

我有以下代码,我想要一个吐司留言说'#34;恭喜nameToasted,你取得了5分!" 但是我得到了#34;恭喜你,你做了5分!"。 我已经尝试过在strings.xml上进行间距,但没有。

String pointsInMessage = getString(R.string.congratulations) + nameToasted;
pointsInMessage = pointsInMessage + getString(R.string.you_made);
pointsInMessage = pointsInMessage + pointsPerAnswer;
pointsInMessage = pointsInMessage + getString(R.string.points_string) ;

3 个答案:

答案 0 :(得分:2)

尝试使用String.format(),如下所示:

final String pointsInMessage = String.format("%s %s, %s %d %s!", getString(R.string.congratulations), nameToasted, getString(R.string.you_made), pointsPerAnswer, getString(R.string.points_string));

假设 pointsPerAnswer 是整数。

答案 1 :(得分:1)

这样做:

String pointsInMessage = getString(R.string.congratulations) +" "+nameToasted;

答案 2 :(得分:0)

getString()始终返回应用了.trim()的字符串,因此您无法在strings.xml文件中使用尾部和前导空格。

以下是您可以使用的字符串构建器示例:

StringBuilder sb = new StringBuilder();
sb.append(R.string.congratulations).append(" ")
  .append(nameToasted).append(R.string.you_made).append(" ") 
  .append(pointsPerAnswer).append(" ").append(R.string.points_string);
String message = sb.toString();

这应该会给你想要显示的信息。