安卓中的字符串格式问题



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

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

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

我会做这样的事情:

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"

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

最新更新