Variable 'viewholder','postion'& model is accesssed from with inner class it need to be declare final, but when i make it final it shows error in adapter.I am using Firebase 11.2.0 Please help me
private void loadListFood(String categoryId) {
adapter=new FirebaseRecyclerAdapter<Food, FoodViewHolder>()
{
@Override
protected void onBindViewHolder(@NonNull FoodViewHolder viewHolder,int position, @NonNull Food model) {
viewHolder.food_name.setText(model.getName());
viewHolder.food_price.setText(String.format(" Rs. %s", model.getPrice().toString()));
Picasso.with(getBaseContext()).load(model.getImage()).into(viewHolder.food_image);
//ADD FAvorites
if (localdb.isFavorite(adapter.getRef(position).getKey()))
viewHolder.fav_image.setImageResource(R.drawable.ic_favorite_black_24dp);
//Click to change favorite state
viewHolder.fav_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!localdb.isFavorite(adapter.getRef(position).getKey()))
{
localdb.addToFavorites(adapter.getRef(position).getKey());
viewHolder.fav_image.setImageResource(R.drawable.ic_favorite_black_24dp);
Toast.makeText(FoodList.this, "" + model.getName() + "was Added To Favorites", Toast.LENGTH_SHORT).show();
} else {
localdb.removeFromFavorites(adapter.getRef(position).getKey());
viewHolder.fav_image.setImageResource(R.drawable.ic_favorite_border_black_24dp);
Toast.makeText(FoodList.this, "" + model.getName() + " was Removed From Favorites", Toast.LENGTH_SHORT).show();
}
}
});