This is my code:
When I am running this code unfortunately your app stopped error is showing.
Not showing error in Android Studio only the app is crashing.
I think I'm getting in setting the reference.
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class FoodActivity extends AppCompatActivity {
private DatabaseReference mDatabaseRef;
private RecyclerView mRecycler;
private FirebaseDatabase mFirebaseDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_food);
String data = getIntent().getStringExtra("data");
mFirebaseDatabase = FirebaseDatabase.getInstance();
Toast.makeText(this, "select "+data, Toast.LENGTH_SHORT).show();
mDatabaseRef = mFirebaseDatabase.getReference().child("item/1");
mRecycler=(RecyclerView) findViewById(R.id.listViewFood);
mRecycler.setHasFixedSize(true);
mRecycler.setLayoutManager(new LinearLayoutManager(this));
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Food,foodViewHolder> mFirebaseAdapter=new FirebaseRecyclerAdapter<Food, foodViewHolder>(
Food.class,R.layout.food_list,foodViewHolder.class,mDatabaseRef
) {
@Override
protected void populateViewHolder(foodViewHolder viewHolder, Food model, int position) {
viewHolder.setfname(model.getfname());
viewHolder.setPrice(model.getPrice());
}
};
mRecycler.setAdapter(mFirebaseAdapter);
}
public static class foodViewHolder extends RecyclerView.ViewHolder{
View mView;
public foodViewHolder(View itemView) {
super(itemView);
mView= itemView;
}
public void setfname(String fname){
TextView tvFood=(TextView) mView.findViewById(R.id.tvFood);
tvFood.setText(fname);
}
public void setPrice(int price){
TextView tvprice=(TextView) mView.findViewById(R.id.fprice);
tvprice.setText(String.valueOf(price));
}
}
}