Не получили ответ на запрос о модернизации?

Мой ответный звонок:

public void getFeed() {

    if (ApiClient.isNetworkAvailable(getActivity()))
    {
        final ProgressDialog progressDialog = new ProgressDialog(getActivity());
        progressDialog.setMessage(getActivity().getString(R.string.txt_please_wait));

        progressDialog.show();



        Call<List<ApiOrderListBean.DataBean.OrdersBean.AssignToBean>> call = ApiClient.getAPIService().getAllData();


        call.enqueue(new Callback<List<ApiOrderListBean.DataBean.OrdersBean.AssignToBean>>() {
            @Override
            public void onResponse(Call<List<ApiOrderListBean.DataBean.OrdersBean.AssignToBean>> call, Response<List<ApiOrderListBean.DataBean.OrdersBean.AssignToBean>> response)
            {

                if (mDialog.isShowing()) {
                    mDialog.dismiss();

                }

                 List<ApiOrderListBean.DataBean.OrdersBean.AssignToBean > list = response.body();

                for(int i=0; i < list.size(); i++)
                {
                    ApiOrderListBean.DataBean.OrdersBean.AssignToBean toBean= list.get(i);
                    SaveIntoDatabase task = new SaveIntoDatabase();
                    task.execute(toBean);
                    LinearLayoutManager layoutmanager = new LinearLayoutManager(getActivity());
                    mOrderAdapter = new RecyclerViewAdapterOrder(list);
                    RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
                    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
                    recyclerView.setHasFixedSize(true);
                    recyclerView.setLayoutManager(layoutmanager);
                    recyclerView.setAdapter(mOrderAdapter);

                }




                Log.d(TAG, "layout skkiped" + response.message());


            }

            @Override

            public void onFailure(Call<List<ApiOrderListBean.DataBean.OrdersBean.AssignToBean >> call, Throwable t) {

            }
        });

    }


}   

POJO отличается, но если я хочу использовать ContactDetailBean, он будет таким же, как AssignToBean:

public class ManufacturerList extends BaseResponse
{

private String message;
private boolean status;
private DataBean data;
 public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public boolean isStatus() {
    return status;
}

public void setStatus(boolean status) {
    this.status = status;
}


public DataBean getData() {
    return data;
}

public void setData(DataBean data) {
    this.data = data;
}

public static class DataBean {


    private Object deletedManufacturers;
    private List<ManufacturersBean> manufacturers;

    public Object getDeletedManufacturers() {
        return deletedManufacturers;
    }

    public void setDeletedManufacturers(Object deletedManufacturers) {
        this.deletedManufacturers = deletedManufacturers;
    }

    public List<ManufacturersBean> getManufacturers() {
        return manufacturers;
    }

    public void setManufacturers(List<ManufacturersBean> manufacturers) {
        this.manufacturers = manufacturers;
    }

    public static class ManufacturersBean {

        private int id;
        private ContactDetailBean contactDetail;
        private int createdBy;
        private String name;
        private String lastUpdated;
        private String dateCreated;
        private String code;
        private boolean deleted;
        private int updatedBy;
        private List<Integer> categories;

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public ContactDetailBean getContactDetail() {
            return contactDetail;
        }

        public void setContactDetail(ContactDetailBean contactDetail) {
            this.contactDetail = contactDetail;
        }

        public int getCreatedBy() {
            return createdBy;
        }

        public void setCreatedBy(int createdBy) {
            this.createdBy = createdBy;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getLastUpdated() {
            return lastUpdated;
        }

        public void setLastUpdated(String lastUpdated) {
            this.lastUpdated = lastUpdated;
        }

        public String getDateCreated() {
            return dateCreated;
        }

        public void setDateCreated(String dateCreated) {
            this.dateCreated = dateCreated;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public boolean isDeleted() {
            return deleted;
        }

        public void setDeleted(boolean deleted) {
            this.deleted = deleted;
        }

        public int getUpdatedBy() {
            return updatedBy;
        }

        public void setUpdatedBy(int updatedBy) {
            this.updatedBy = updatedBy;
        }

        public List<Integer> getCategories() {
            return categories;
        }

        public void setCategories(List<Integer> categories) {
            this.categories = categories;
        }

        public static class ContactDetailBean {

            private Object id;
            private Object emailId;
            private Object phone;
            private Object fax;
            private Object postalCode;
            private Object state;
            private Object longitude;
            private Object latitude;
            private Object addressLine2;
            private Object addressLine1;
            private Object mobile;
            private Object country;
            private Object city;

            public Object getId() {
                return id;
            }

            public void setId(Object id) {
                this.id = id;
            }

            public Object getEmailId() {
                return emailId;
            }

            public void setEmailId(Object emailId) {
                this.emailId = emailId;
            }

            public Object getPhone() {
                return phone;
            }

            public void setPhone(Object phone) {
                this.phone = phone;
            }

            public Object getFax() {
                return fax;
            }

            public void setFax(Object fax) {
                this.fax = fax;
            }

            public Object getPostalCode() {
                return postalCode;
            }

            public void setPostalCode(Object postalCode) {
                this.postalCode = postalCode;
            }

            public Object getState() {
                return state;
            }

            public void setState(Object state) {
                this.state = state;
            }

            public Object getLongitude() {
                return longitude;
            }

            public void setLongitude(Object longitude) {
                this.longitude = longitude;
            }

            public Object getLatitude() {
                return latitude;
            }

            public void setLatitude(Object latitude) {
                this.latitude = latitude;
            }

            public Object getAddressLine2() {
                return addressLine2;
            }

            public void setAddressLine2(Object addressLine2) {
                this.addressLine2 = addressLine2;
            }

            public Object getAddressLine1() {
                return addressLine1;
            }

            public void setAddressLine1(Object addressLine1) {
                this.addressLine1 = addressLine1;
            }

            public Object getMobile() {
                return mobile;
            }

            public void setMobile(Object mobile) {
                this.mobile = mobile;
            }

            public Object getCountry() {
                return country;
            }

            public void setCountry(Object country) {
                this.country = country;
            }

            public Object getCity() {
                return city;
            }

            public void setCity(Object city) {
                this.city = city;
            }
        }
    }
}
}

Я позвонил во Фрагменте

private void loadOrderFeed() {

    mDialog = new ProgressDialog(getActivity());

    if (getNetworkAvailability()) {
        getFeed();
    } else {
        getFeedFromDatabase();
    }
}

в onCreateView

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    //Returning the layout file after inflating
    view = inflater.inflate(R.layout.recent_order_list, container, false);
    dBhelper = new DBhelper(getActivity(), getContext().getFilesDir().getAbsolutePath());
    try
    {
        dBhelper.prepareDatabase();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    loadOrderFeed();
    return view;


}

Я не получаю ответа в response.body() во время отладки. Есть ли проблема в POJO или классы создаются один в другом, верно? Я новичок в андроиде. Кто-нибудь может подсказать, что делать в этой ситуации? введите здесь описание изображения


person sonaliparwani    schedule 13.02.2017    source источник
comment
Покажите минимально воспроизводимый пример проблемы. Независимо от того, получите ли вы ответ или нет, ваш POJO не контролирует   -  person OneCricketeer    schedule 13.02.2017
comment
да, я знаю, но я сгенерировал с использованием формата gson, иногда мы не получаем ответа из-за ошибки в json dat y @cricket_007   -  person sonaliparwani    schedule 13.02.2017
comment
я отредактировал свой вопрос, можете ли вы предложить, что делать в этой ситуации? @cricket_007   -  person sonaliparwani    schedule 13.02.2017
comment
я добавил в свой вопрос, где я звонил, в onCreateView во фрагменте, теперь я не понимаю, где есть проблема с получением ответа? @cricket_007   -  person sonaliparwani    schedule 13.02.2017
comment
Я вижу по крайней мере два условия, которые вы можете отладить. 1) Сеть доступна. Добавьте else и Log его. 2) list.size() пусто, иначе ничего не делаешь. Вот я и спрашиваю, откуда ты знаешь, что он туда не попадает?   -  person OneCricketeer    schedule 13.02.2017
comment
Я добавил еще один класс компонента ListBean, используя этот URL-адрес shaoniiuc.com/json_bangla. Я просто передал ListBean вместо AssignToBean, где я не получил list.size(), а также response.body() в AssignToBean, но то же самое я получил в ListBean?   -  person sonaliparwani    schedule 13.02.2017
comment
как вы сказали, я проверил состояние сети, но он работает нормально ... ApiOrderListBean.DataBean.OrdersBean.AssignToBean, но я думаю, что назначение bean-компонента, подобного этому, в списке имеет значение, я не был уверен в этом, поэтому я спросил на SO, можете ли вы предложить сейчас ?   -  person sonaliparwani    schedule 13.02.2017
comment
сэр, код переходит к ответу, но list.size () имеет значение null, даже если отладка response.body () имеет значение null dat y, и даже нет предупреждения, ни одна ошибка не отображается @cricket_007   -  person sonaliparwani    schedule 13.02.2017
comment
Позвольте мне добавить скриншот @cricket_007   -  person sonaliparwani    schedule 13.02.2017
comment
Я думаю, вы имеете в виду, что list равно нулю, а не list.size(). Если ваш список пуст, то POJO действительно является проблемой, но это будет ошибка GSON, а не Retrofit.   -  person OneCricketeer    schedule 13.02.2017
comment
поэтому я должен добавить json в вопрос @cricket_007?   -  person sonaliparwani    schedule 13.02.2017
comment
я конвертировал с помощью GsonLibrary в POJO, так что ошибка у gson? @cricket_007   -  person sonaliparwani    schedule 13.02.2017
comment
Если Gson не может преобразовать JSON в Java, он возвращает значение null. Пожалуйста, попробуйте сгенерировать его снова. jsonschema2pojo.org   -  person OneCricketeer    schedule 13.02.2017
comment
Я попробую спросить, существует ли проблема @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
Я проверил на [jsonschema2pojo.org], вы были правы, он дал мне класс сравнения для каждого компонента, такого как assignTo и BillingContact и т. д., поэтому мне нужно создать класс сравнения для каждого компонента? @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
боб == класс. Да   -  person OneCricketeer    schedule 14.02.2017
comment
Большое спасибо @cricket_007 за ответы на мои глупые вопросы .. :) благослови бог.   -  person sonaliparwani    schedule 14.02.2017
comment
Итак, теперь код работает?   -  person OneCricketeer    schedule 14.02.2017
comment
во время отладки он не входит в onResponse теперь @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
Ваш onFailure пуст. Положите что-нибудь туда, пожалуйста.   -  person OneCricketeer    schedule 14.02.2017
comment
я добавил в onFailure, но все еще не получил ответ @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
Вы сказали, что раньше он туда не попадал, но все же list был пуст. Следовательно, это действительно попадало в onResponse, так что я больше не понимаю, что вы имеете в виду.   -  person OneCricketeer    schedule 14.02.2017
comment
Нет, на этот раз даже не отображается list.size(); он не входит в onResponse раньше, он входил сейчас, он не получает ответа @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
Вы знаете, как передать заголовок? я добавил, пожалуйста, проверьте @GET(Constants.ORDER_LIST_METHOD) Call‹List‹OrderListResponse›› getAllData(@Header(companyid)String access_token); Call‹List‹OrderListResponse›› call = ApiClient.getAPIService().getAllData(companyid); @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
Если его нет в onResponse, то он должен быть в onFailure. В любом случае CompanyId не является правильным заголовком HTTP... futurestud.io/tutorials/ модифицированный-добавить-пользовательский-запрос-заголовок   -  person OneCricketeer    schedule 14.02.2017
comment
А так же получаю ответ в onResposne @cricket_007   -  person sonaliparwani    schedule 14.02.2017
comment
Не стесняйтесь создавать свой собственный ответ ниже с вашим решением проблемы, вместо того, чтобы оставлять его в комментариях.   -  person OneCricketeer    schedule 14.02.2017


Ответы (1)


Проблема решилась добавлением заголовка в retrofitinterface.

person sonaliparwani    schedule 15.02.2017
comment
какой заголовок вы добавили? - person Pranav MS; 20.05.2020