Ich habe zwei Klassen.So sortieren Sie inneres Objekt beim Analysieren von JSON-Daten mit Gson
Klasse Unterkategorie
public class SubCategory implements Comparable<SubCategory>{
private int scid;
private String scname;
public SubCategory(int scid, String scname) {
this.scid = scid;
this.scname = scname;
}
public int getScid() {
return scid;
}
public void setScid(int scid) {
this.scid = scid;
}
public String getScname() {
return scname;
}
public void setScname(String scname) {
this.scname = scname;
}
public int compareTo(SubCategory subCategory){
return this.getScname().compareTo(subCategory.getScname());
}
}
Klasse Kategorie
public class Category implements Comparable<Category>{
private int id;
private String name;
private String image;
private int display_with;
private List<SubCategory> subcategories;
public Category(int id, String name, String image, int display_with, List<SubCategory> subcategories) {
this.id = id;
this.name = name;
this.image = image;
this.display_with = display_with;
this.subcategories = subcategories;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public int getDisplay_with() {
return display_with;
}
public void setDisplay_with(int display_with) {
this.display_with = display_with;
}
public List<SubCategory> getSubcategories() {
return subcategories;
}
public void setSubcategories(List<SubCategory> subcategories) {
this.subcategories = subcategories;
}
public int compareTo(Category category){
return this.getName().compareTo(category.getName());
}
}
Dies ist retrofir Anfrage.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.BASERESTURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Ich bin Parsen der Daten mit Gson Bibliothek in Retrofit-Antwort
public void onResponse(retrofit.Response<List<Category>> response, Retrofit retrofit) {
loading.dismiss();
List<Category> categories = response.body();
Collections.sort(categories);
Utility.setCategories(categories);
}
i die Kategorien mit Collections.sort sortieren (Kategorien);
Aber wie Unterkategorien mit Kategorie sortieren?