【问题标题】:Not getting response in retrofit call?在改造电话中没有得到回应?
【发布时间】:2026-01-03 12:00:02
【问题描述】:

我的回应电话:

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 中是否有任何问题,或者类是在另一个中创建的,对吗? 我是安卓新手。 有人可以建议在这种情况下该怎么做吗?

【问题讨论】:

  • 请显示问题的minimal reproducible example。你是否得到响应不受你的 POJO 控制
  • 是的,我知道,但我使用 gson 格式生成,有时我们没有得到响应,因为 json dat 的 y @cricket_007 有错误
  • 先生,代码进入响应,但 list.size() 为空,即使调试 response.body() 为空 dat's y,甚至没有警告,也没有显示错误@cricket_007
  • 我检查了 [jsonschema2pojo.org],你是对的,它给了我每个 bean 的差异类,如 assignTo 和 BillingContact 等,所以我需要做一个差异每个豆类? @cricket_007
  • 我现在在 onResposne @cricket_007 中得到回复

标签: android response retrofit2


【解决方案1】:

通过在retrofitinterface中添加header解决了问题。

【讨论】:

  • 你添加了什么标题?
最近更新 更多