0

我在 android 应用程序中遇到了“string.format”的问题。在我的应用程序中,当用户将其语言首选项从默认(英语)更改为任何其他外语(日语、德语等)时,变量字符串定位会导致强制关闭错误。请参考以下代码:

temp = String.format(locale,getResources().getString(R.string.temp_string), value, name);

其中, temp_string = "包裹号 %1$d 属于 %2$s" 用于默认选择(英语),当在其中一些语言中选择其他语言时,%2$s 位于 %1$d 之前。因此,应用力关闭。有没有办法动态处理变量字符串(值,名称)。

4

1 回答 1

1

我会做类似的事情:

temp = getResources().getString(R.string.temp_string, value, name);

如您所见,getString()方法也可以接收要格式化的参数。然后,将不同的字符串资源放在不同的文件夹中。例如:

res/
   values/
       string.xml <--- here you put "The parcel number %1$d belongs to %2$s"
   values-de/
       string.xml <--- here you put "The parcel number %2$d belongs to %1$s"

我只是给你一个例子;我其实不知道德国的秩序如何。我只是想解释一下你实际上必须尝试什么。

于 2012-06-28T00:15:20.840 回答