Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在<;上使用Java/Android字符串格式;字符串数组>;_Java_Android_String Formatting - Fatal编程技术网

如何在<;上使用Java/Android字符串格式;字符串数组>;

如何在<;上使用Java/Android字符串格式;字符串数组>;,java,android,string-formatting,Java,Android,String Formatting,如何在上使用字符串格式 -Android中的资源 我应该像下面的例子那样做吗(如果是,我应该怎么做) %他给你发了个信息。 %他回答了你的故事 或者在这种情况下通常使用什么样的技术? 我只知道如何格式化字符串资源。(使用getString(R.id.mystring,replacevalue)) 谢谢你的帮助 编辑: 我尝试使用getStringArray(),但该方法不接受多个参数,而该参数只是一个数组资源 Android支持使用getString(String str,Object…

如何在上使用字符串格式
-Android中的资源

我应该像下面的例子那样做吗(如果是,我应该怎么做)


%他给你发了个信息。
%他回答了你的故事
或者在这种情况下通常使用什么样的技术? 我只知道如何格式化字符串资源。(使用
getString(R.id.mystring,replacevalue)
) 谢谢你的帮助
编辑:

  • 我尝试使用getStringArray(),但该方法不接受多个参数,而该参数只是一个数组资源

Android支持使用
getString(String str,Object…args)进行格式化

也可以使用方法包装格式。

public static String formatString(String pure,Object... args){
     return String.format(pure,args);
}
//Or 
public static String formatString(int id,Context context,Object... args){
     String pure = context.getString(id);
     return String.format(pure,args);
}

我个人更喜欢第二种方法,它在未来很容易改变。

不幸的是,Android没有提供直接的方法来实现这一点。你能做的最好的事情是:


String.format(getResources().getStringArray(R.array.notification msgs)[0],“某人”)

据我所知,无法直接格式化字符串数组项?(谢谢你的回答,顺便说一句)我也知道如何在java和android中格式化单个字符串,但是我有描述的字符串数组资源的问题,在这里格式化字符串似乎是不可能的?!是的,这是不可能的,但您可以使用循环来格式化数组,就像在kotlin中使用
format
方法作为扩展函数一样,例如:
getResources().getStringArray(R.array.notification msgs)[0]。格式化(“某人”)
public static String formatString(String pure,Object... args){
     return String.format(pure,args);
}
//Or 
public static String formatString(int id,Context context,Object... args){
     String pure = context.getString(id);
     return String.format(pure,args);
}