您好,我是Android新手。我试图调用并保存来自同一类的两个API,并将来自这些API的两个数据放入相同的RecyclerView
中。
第一次改造工作正常,但在第二次改造电话中存在问题。
代码如下,用于第二次改装
private void callRetrofitListData(){
pariyojanaInterfaces = ApiClient.getApiClient().create(PariyojanaInterface.class);
Log.e("pariyojanaInterfaces", String.valueOf(pariyojanaInterfaces));
Call<List<Data>> call = pariyojanaInterfaces.getData(memberId);
Log.e("urll",call.request().toString())
call.enqueue(new Callback<List<Data>>() {
@Override
public void onResponse(Call<List<Data>> call, Response<List<Data>> response) {
Log.e("check","chekc");
datas = (List<Data>) response.body();
itemListAdapter = new ItemListAdapter(getApplicationContext(), datas);
rv.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
rv.setAdapter(itemListAdapter);
}
@Override
public void onFailure(Call<List<Data>> call, Throwable t) {
Log.e("error", t.getMessage());
}
});
}
在这种情况下,调试器不会进入该函数内部
call.enqueue(new Callback<List<Data>>()
并说没有这样的实例字段:'PariyojanaInterfaces'。
PariyojanaInterface
如下所示:
public interface PariyojanaInterface {
@POST("projectBudget/pariyojanaListForMobile")
Call<List<Data>> getData(@Query("memberId") int memberId);
}
有人可以帮我解决我的问题吗?
答案 0 :(得分:0)
您必须在@POST()行之前在接口中添加@FormUrlEncoded 和
在POST方法中,我们使用 @FIELD 而不是 @QUERY