I have data in realtime database and I am trying to display that data in fragment which has a recycler view. But data is not populated. Even populateView method is not triggred(I tried logging it). It loads well in activity but not in fragment. Can anyone help?
public class ExtraFragment extends Fragment {
RecyclerView recyclerView;
TextView clickLink;
DatabaseReference databaseReference;
FirebaseRecyclerAdapter<ExtraBeans,MyViewHolder> recyclerAdapter;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_extra, null, false);
recyclerView = (RecyclerView) v.findViewById(R.id.recyclerView);
clickLink = (TextView) v.findViewById(R.id.clickLink);
databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://myeg-7g8990.firebaseio.com/sim/my data");
Log.v("adslquestion","mhere"+"");
recyclerAdapter= new FirebaseRecyclerAdapter<ExtraBeans,MyViewHolder>
(ExtraBeans.class,
R.layout.options_extra,
MyViewHolder.class,
databaseReference) {
@Override
protected void populateViewHolder(MyViewHolder viewHolder, ExtraBeans model, int position) {
viewHolder.setQuestion(model.getQuestion());
viewHolder.setAnswer(model.getAnswer());
viewHolder.setWinner(model.getWinner());
Log.v("adslquestion",model.getQuestion()+"");
}
};
recyclerView.setAdapter(recyclerAdapter);
recyclerAdapter.notifyDataSetChanged();
databaseReference.keepSynced(true);
}
}
);
return v;
}
public static class MyViewHolder extends RecyclerView.ViewHolder{
TextView question;
TextView answer;
TextView winner;
View mView;
public MyViewHolder(View itemView) {
super(itemView);
mView=itemView;
Log.v("adslquestion","aarko ma");
}
public void setQuestion(String questionString)
{
question=(TextView)mView.findViewById(R.id.question);
question.setText(questionString);
}
public void setAnswer(String answerString)
{
answer=(TextView)mView.findViewById(R.id.answer);
answer.setText(answerString);
}
public void setWinner(String winnerString)
{
winner=(TextView)mView.findViewById(R.id.winner);
winner.setText(winnerString);
}
}