Я передаю список файлов JSON, который не отображается в приложении Android - PullRequest
0 голосов
/ 18 апреля 2019

Я передавал этот JSON http://www.mocky.io/v2/5cacde192f000078003a93bb

Я пытался напечатать просто имя_категории

Я не могу получить список данных, когда я передаю объект сиз списка данных, как http://www.mocky.io/v2/5cb859344c0000092ed3d4df

   private Category_name category_name;

   public Category_name getCategoryName() {
       return category_name;
   }
}

   public class Category_name {
       @SerializedName("category_name")
       public String name;

       public String getName() {
           return name;
       }
   }````

i can access that through the NewAdapter.java
with the following code

@Override
   public void onBindViewHolder(NewsViewHolder holder, int position) {
       Log.e("Its coming","NewAdapter");
       ApiObject apiObject = apiObjectList.get(position);
       holder.title.setText(apiObject.getCategoryName().getName());
   }

with the same  code I'm not able to get the data list 
@SerializedName("data")
   public List<Data> data;

   public List<Data> getData() {
       return data;
   }

  public class Data {
   @SerializedName("details")
   private Category_name category_name;

   public Category_name getCategoryName() {
       return category_name;
   }
}

   public class Category_name {
       @SerializedName("category_name")
       public String name;

       public String getName() {
           return name;
       }
   }

@Override
   public void onBindViewHolder(NewsViewHolder holder, int position) {
       Log.e("Its coming","NewAdapter");
       ApiObject apiObject = apiObjectList.get(position);
         holder.title.setText(apiObject.getData().getCategoryName().getName());

   }
I'm not able to access the getCategoryName();

Please help thanks in advance

Ответы [ 2 ]

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

Я думаю, что вы должны следовать этим путем разбора POJO в соответствии с вашим ответом JSON.

 public class Data{
 @Serialization("status")
 @Expose
 private String status;
 @Serialization("data")
 @Expose
 private List<MyData> data;

Затем

public class MyData{
@Serialization("details")
@Expose
private List<Details> getDetails();
@Serialization("product_count")
@Expose
private String Product_count;
@Serialization("products")
@Expose
private List<Products> getProducts();
//setter and getters
}

Подробности POJO

Public class Details{
@Serialization("category_id")
@Expose
private String category_id;
@Serialization("category_name")
@Expose
private String category_name;
@Serialization("category_icon")
@Expose
private String category_icon;
//setter and getters
}

Продукты POJO

Public class Products{
@Serialization("product_id")
@Expose
private String product_id;
@Serialization("product_name")
@Expose
private String product_name;
@Serialization("product_image")
@Expose
private String product_icon;
etc
//setter and getters
}
0 голосов
/ 18 апреля 2019

используйте преобразование json 2 pojo для создания правильного модельного класса данных json http://www.jsonschema2pojo.org/

передать весь пример объекта в конструктор адаптера.

...