Firebase recyclerview is not showing desired results in released mode while it works properly in debug mode. It is giving null values in released mode but it displays correct value in the debug app mode.
Firebase is returning null values in recycler view.
Firebase Recyclerview Code:
//For setting time
/*CarouselModel carouselModel = new CarouselModel("Tomorrow's QuizPoint at 10:00 PM","₹50,000","1562587387000","1562587389000");
quizTiming.push().setValue(carouselModel);*/
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("quizTimings");
FirebaseRecyclerOptions<CarouselModel> options =
new FirebaseRecyclerOptions.Builder<CarouselModel>()
.setQuery(query, CarouselModel.class)
.build();
scrollView = (RecyclerView) findViewById(R.id.picker);
adapter = new FirebaseRecyclerAdapter<CarouselModel, TimeViewHolder>(options) {
@Override
public TimeViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_time, viewGroup, false);
return new TimeViewHolder(view);
}
@Override
protected void onBindViewHolder(TimeViewHolder timeViewHolder, int i, final CarouselModel carouselModel) {
try {
if (carouselModel.getTime()!=null && !carouselModel.getTime().isEmpty()){
String quizTimings = carouselModel.getTime();
timeViewHolder.timeShow.setText(quizTimings);
}else {
timeViewHolder.timeShow.setText("error Time");
}
if (carouselModel.getTimeMoney()!=null && !carouselModel.getTimeMoney().isEmpty()){
String timeMoney = carouselModel.getTimeMoney();
timeViewHolder.timeMoney.setText(timeMoney);
}else {
timeViewHolder.timeMoney.setText("error TimeMoney");
}
} catch (Exception ex) {
String err = (ex.getMessage()==null)?"QuizTiming error":ex.getMessage();
Log.e("quiztiming logs","error "+err);
}
}
};
CustomLinearLayout linearLayoutManager = new CustomLinearLayout(this,LinearLayoutManager.HORIZONTAL,false);
scrollView.addItemDecoration(new LinePagerIndicatorDecoration(MainActivity.this));
scrollView.setLayoutManager(linearLayoutManager);
scrollView.setAdapter(adapter);
Make sure your pojo class is public and add
@Keep
to the pojo classes that you use to retrieve and display firebase data if you are using
minifyEnabled true