I have a recycler view with drink categories (7 items), and I wanted all 7 items to change position dynamically based on customer's favorite drink saved in Favorites table.
How could this be possible in such a way?
My current code:
private void loadMenu() {
Query query = category.orderByChild("views");
adapter = new FirebaseRecyclerAdapter<Category, MenuViewHolder>(
Category.class,
R.layout.menu_item,
MenuViewHolder.class,
query
) {
@Override
protected void populateViewHolder(final MenuViewHolder viewHolder, final Category model, int position) {
viewHolder.txtMenuName.setText(model.getName());
Picasso.with(getBaseContext()).load(model.getImage())
.into(viewHolder.imageView);
viewHolder.txtViews.setText(model.getViews());
viewHolder.setItemClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
//No of click
count++;
category.child(adapter.getRef(position).getKey()).child("views").setValue(count);
//Get CategoryId and send to new Activity
Intent drinkList = new Intent(Home.this, DrinkList.class);
//Because CategoryId is key, so we just get key of this item
drinkList.putExtra("CategoryId",adapter.getRef(position).getKey());
startActivity(drinkList);
}
});
}
};
adapter.notifyDataSetChanged();
recycler_menu.setAdapter(adapter);
}