Я не могу получить доступ к методу класса - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть класс, который должен детализировать данные http://www.mocky.io/v2/5cacde192f000078003a93bb, я написал класс для получения данных и следующий класс, чтобы получить детали

public class ApiObject {


        @SerializedName("status")
        @Expose
        public String status;
        @SerializedName("data")
        @Expose
        public List<MyData> data = null;


        @SerializedName("products")
        public List<Products> products = null;

        public List<MyData> getData() {

                return data;
        }

        public class MyData{
                @SerializedName("details")
                public Details details;
                @SerializedName("product_count")
                public Integer productCount;


                public Details getDetails(){
                        return details;
                }
                @SerializedName("product_count")
                @Expose
                private String Product_count;
                @SerializedName("products")

                public List<Products> getProducts(){
                        return products;
                }
//setter and getters
        }

Я создал объект Apiobject в большем классе и я пытаюсь получить доступ к методу getDetails

как

ApiObject apiObject ;
apiObject.getData().getDetails();

Я получаю сообщение об ошибке: не удается разрешить метод

Ответы [ 2 ]

0 голосов
/ 19 апреля 2019

В вашем коде есть две проблемы:

  1. getDetails () - это закрытый метод, сделайте его открытым, если вы хотите получить к нему доступ.

  2. getData () возвращает список объектов MyData, а не один экземпляр. Итак, вы должны перебрать список, если хотите вызвать getDetails ().

    for (MyData data : apiObject.getData()) {
        data.getDetails();
    }
0 голосов
/ 19 апреля 2019

getDetails () является закрытым методом. Следовательно, доступ возможен только из класса MyData. Сделайте его общедоступным, чтобы он был доступен экземплярам других классов.

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