call.enqueue не работает для двух модифицированных вызовов в одном классе - PullRequest
0 голосов
/ 27 сентября 2018

Здравствуйте, я новичок в 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);
}

Может кто-нибудь помочь мне решить мою проблему?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы должны добавить @FormUrlEncoded в вашем интерфейсе перед строкой @POST () и

в методе POST мы используем @ FIELD вместо @ QUERY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...