My goal is to arrange my products by price, wherein the lowest price would be on top. Currently, the products are being arranged according to its create date. How do I achieve my goal? Thanks in advance.
SampleActivity.java
public class SampleActivity extends AppCompatActivity {
private RecyclerView rec;
private DatabaseReference dref;
private Query dref2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample);
rec = (RecyclerView) findViewById(R.id.rec);
rec.setHasFixedSize(true);
rec.setLayoutManager(new LinearLayoutManager(this));
String vegmeat_type = getIntent().getExtras().get("vegmeat_type").toString();
dref = FirebaseDatabase.getInstance().getReference().child("Products");
dref2 = dref.orderByChild("name").startAt(vegmeat_type).endAt(vegmeat_type);
}
public static class FeedViewHolder extends RecyclerView.ViewHolder{
View mView;
public FeedViewHolder(View itemView){
super(itemView);
mView = itemView;
}
public void setPrice(String Price){
TextView price = (TextView) mView.findViewById(R.id.TVPrice);
price.setText(Price);
}
public void setStallname(String StallName){
TextView stallname = (TextView) mView.findViewById(R.id.TVStallName);
stallname.setText(StallName);
}
}
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<prive, FeedViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<prive, FeedViewHolder>(
prive.class,
R.layout.row,
FeedViewHolder.class,
dref2
) {
@Override
protected void populateViewHolder(FeedViewHolder viewHolder, prive model, int position) {
viewHolder.setPrice(model.getPrice());
viewHolder.setStallname(model.getStallname());
}
};
rec.setAdapter(firebaseRecyclerAdapter);
}
}