在我在这里发布这个问题之前,我已经尝试添加@Multipart上面的接口方法并且在stackoverflow中搜索仍然找不到类似我的问题.
在这种情况下,我尝试使用TypedFile服务器发送图像.我的界面方法如下所示:
@Headers({"Content-type: application/json"})
@POST("/user/change")
void postChange(@Query("name") String name, @Query("email") String email, @Query("password") String password, @Query("phone") String phone, @Query("user_id") String userId, @Query("address[]") String[] listAddress, @Query("head[]") String[] head, @Part("photo_profile") TypedFile photoProfile, @Body TypedInput jsonObject, Callback<ReceiveDTO> callback);
Run Code Online (Sandbox Code Playgroud)
编辑
在那种方法中,我们可以看到@Part和@Body.如果我添加@Multipart上面的方法,我们将抛出一个错误@Body parameters cannot be used with form or multi-part encoding. (parameter #9)
我正在使用Retrofit 1.9
共有3个标签:ONE || 两个 || TRI
例如:
myList = 1,2,3
问题 :
之后我去页TWO
myList = 1,2,3,1,2,3(双副本)
如果我去页面TRI
myList = 1,2,3,1,2,3,1,2,3(三重复)
在我在互联网上寻找解决方案后,我发现这个代码(在Adapter类上):
public void swap(List<FoodModel> datas){
datas = new ArrayList<>();//updated
if(mListFood !=null || mListFood.size() !=0){
mListFood.clear();
mListFood.addAll(datas);
}else{
mListFood = datas;
}
notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
我这样使用oneFragment.java:
mListFoodAdapter = new ListFoodAdapter(getContext(), mFoodModel);
mListFoodAdapter.swap(mFoodModel);
mRecyclerViewListFood.setLayoutManager(linearLayoutManager);
mRecyclerViewListFood.setAdapter(mListFoodAdapter);
mRecyclerViewListFood.setItemAnimator(new DefaultItemAnimator());
Run Code Online (Sandbox Code Playgroud)
但它给了我nullPointer有时没有数据显示RecyclerView
请建议我如何使列表数据不再回来之后,从网页复制TWO的TRI
吼叫我的代码oneFragment.java和ViewPagerAdapter.java
oneFragment.java
public class FoodFragment extends Fragment {
private …Run Code Online (Sandbox Code Playgroud)