Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.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
Android 如何在改造中添加多条线,这些线是相同参数的数组?_Android_Retrofit - Fatal编程技术网

Android 如何在改造中添加多条线,这些线是相同参数的数组?

Android 如何在改造中添加多条线,这些线是相同参数的数组?,android,retrofit,Android,Retrofit,我希望传递相同元素的数组,但希望它们作为新字段传递。我想做一些类似的事情: @POST("/api/userInfo/changeProfileData/") void updateProfile( @Field("userInfoProfile[languages][0]") String language1, @Field("userInfoProfile[languages][1]") String language2,

我希望传递相同元素的数组,但希望它们作为新字段传递。我想做一些类似的事情:

        @POST("/api/userInfo/changeProfileData/")
        void updateProfile(
        @Field("userInfoProfile[languages][0]") String language1,
        @Field("userInfoProfile[languages][1]") String language2,
        Callback<BaseModel<StateModel>> callback);
@POST(“/api/userInfo/changeProfileData/”)
无效更新配置文件(
@字段(“userInfoProfile[语言][0]”字符串语言1,
@字段(“userInfoProfile[语言][1]”字符串语言2,
回调(回调);
但问题是我不知道元素的数量,所以我不能像上面那样做

我试图通过一个列表:

           @Field("userInfoProfile[languages]") List<String> languages
@字段(“userInfoProfile[语言]”)列出语言
但该值无效,因为我需要字段及其索引(userInfoProfile[语言][0])。

用于使字段关联更具动态性

将您的界面更新为:

 void updateProfile(
        @FieldMap Map<String, String> languages,
        Callback<BaseModel<StateModel>> callback);
private Map<String, String> buildFieldMap(List<String> data){
      Map<String, String> map = new HashMap<String, String>();
      String fieldName = "userInfoProfile[languages][%d]"
      for(int i = 0; i < data.size(); i++){
         map.put(String.format(fieldName, i), data.get(i));
     }
   return map;
}