I have a recyclerview to show different products. I used custom adapter and ArrayList to bind data to adapter. I want to sort the list by a value in each product object. I have referred many questions but i couldn't find appropriate one for my problem. Can any one suggest a solution with the code given below
My Model Class
public class Spaceship {
private int rating;
private String name,image_url,pk_id;
private int image;
public float getRating() {
return rating;
}
public void setRating(int rating) {
this.rating = rating;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image_url;
}
public void setImage(String image_url) {
this.image_url = image_url;
}
public String getPkid() {
return pk_id;
}
public void setPkid(String pk_id) {
this.pk_id = pk_id;
}
}
MainActivity code
Spaceship model;
planList = new ArrayList<>();
try {
jsonArray = resultData.getJSONArray("packages");
for(int i=0; i<jsonArray.length();i++){
jsonObject2 = jsonArray.getJSONObject(i);
JSONObject img_object = jsonObject2.getJSONObject("images");
Iterator<String> keys= img_object.keys();
while (keys.hasNext())
{
String keyValue = (String)keys.next();
String valueString = img_object.getString(keyValue);
}
model = new Spaceship();
model.setName(jsonObject2.getString("vehicle_name"));
model.setRating(1);
model.setImage(img_object.getString("url1"));
model.setPkid(jsonObject2.getString("id"));
planList.add(model);
}
setAdapter();
} catch (JSONException e) {
e.printStackTrace();
}
}
private void setAdapter() {
adapter = new RecyclerAdapter(MainActivity.this, planList,MainActivity.this);
rv.setAdapter(adapter);
}
How can i sort the recycler view by the "rating" value.