【问题标题】:I'm not able able access the method of class我无法访问类的方法
【发布时间】:2019-09-09 16:02:52
【问题描述】:

我的课程必须在数据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();

我收到一个错误,无法解析方法

【问题讨论】:

    标签: java android class object


    【解决方案1】:

    getDetails() 是一个私有方法。因此,只能从 MyData 类内部访问。将其公开以供其他类的实例访问。

    【讨论】:

    • getData() 方法返回 MyData 对象的 List,但 getDetails() 方法返回特定 MyData 对象的 Details 对象。这取决于您要达到的目标。要么访问列表的一个不同 MyData 对象,然后调用 getDetails(),要么如果您想要列表中所有 MyData 对象的详细信息,您将希望在 for 循环结构中执行相同操作,将检索到的详细信息存储在新列表。
    【解决方案2】:

    你的代码有两个问题:

    1. getDetails() 是一个私有方法,如果您想访问它,请将其设为公开。

    2. getData() 返回 MyData 对象的列表,而不是单个实例。所以,如果你想调用 getDetails(),你应该遍历列表。

      for (MyData data : apiObject.getData()) {
          data.getDetails();
      }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      相关资源
      最近更新 更多