Я хочу получить данные из базы. Я храню эти данные в адаптере просмотра Firebase. Теперь у меня есть требование, что все данные должны быть отсортированы на основе логического значения. например, все поля истинных значений идут первыми, а ложные значения должны появляться после завершения данных.
как и при наличии велосипеда, должен отображаться весь доступный велосипед. и должна отображаться нижняя часть доступного велосипеда, недоступного велосипеда. Таблица велосипедов имеет поле isAvailablity, где хранится значение true или false.
adapter = new FirebaseRecyclerAdapter<Bike, VehicleViewHolder>
(Bike.class,
R.layout.bike_list_layout,
VehicleViewHolder.class,
bike_detail_tbl) {
@Override
protected void populateViewHolder(VehicleViewHolder vehicleViewHolder, final Bike bike, int i) {
spotsDialog.dismiss();
mShimmerViewContainer.stopShimmerAnimation();
mShimmerViewContainer.setVisibility(View.GONE);
if (bike.isBikeavailability() == true) {
vehicleViewHolder.b2.setVisibility(View.GONE);
vehicleViewHolder.b1.setVisibility(View.VISIBLE);
vehicleViewHolder.bikename.setBackgroundColor((0xFFFFFFFF));
vehicleViewHolder.imageView.setBackgroundColor((0xFFFFFFFF));
vehicleViewHolder.bikemodel.setBackgroundColor((0xFFFFFFFF));
// vehicleViewHolder.textMenuName.setText(vehicles.getName());
vehicleViewHolder.bikename.setText(bike.getBikename());
vehicleViewHolder.bikeprice.setText("\u20B9 " + bike.getBikeprice() + "/Hr");
// vehicleViewHolder.fuelprice.setText("\u20B9 " + bike.getBikekm() + "/Km");
// Toast.makeText(.getContext(),""+vehicles.getName(),Toast.LENGTH_LONG).show();
vehicleViewHolder.bikemodel.setText(bike.getBikemodel());
Picasso.get().load(bike.getBikeimage())
.into(vehicleViewHolder.imageView);
// final Vehicles clickItem=vehicles;
vehicleViewHolder.setItemClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
try {
Common.currBike = bike;
Common.BikeId = adapter.getRef(position).getKey();
Common.selected_bike_model = bike.getBikemodel();
Common.helmet_price = bike.getHelmet();
Common.selected_bike_name = bike.getBikename();
Common.selected_bike_no = bike.getBikeno();
Common.selected_bike_park = bike.getBikeparkingapartment();
Common.selected_bike_address = bike.getBikeparkingaddress();
Common.selected_bike_image = bike.getBikeimage();
Common.selected_bike_fuel_per_km = bike.getBikekm();
Common.selected_bike_price_per_hour = bike.getBikeprice();
Common.selected_bike_late_price = bike.getBikelateprice();
Intent foodList = new Intent(Home.this, BookingSummary.class);
startActivity(foodList);
} catch (Exception e) {
}
}
});
} else {
vehicleViewHolder.b2.setVisibility(View.VISIBLE);
vehicleViewHolder.b1.setVisibility(View.GONE);
vehicleViewHolder.bikename1.setText(bike.getBikename());
vehicleViewHolder.bikemodel1.setText(bike.getBikemodel());
vehicleViewHolder.bikeprice1.setText("\u20B9 " + bike.getBikeprice() + "/Hr");
vehicleViewHolder.fuelprice1.setText("\u20B9 " + bike.getBikekm() + "/Km");
Picasso.get().load(bike.getBikeimage())
.into(vehicleViewHolder.imageView1);
vehicleViewHolder.setItemClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
try {
Common.currBike = bike;
Common.BikeId = adapter.getRef(position).getKey();
Common.selected_bike_model = bike.getBikemodel();
Common.helmet_price = bike.getHelmet();
Common.selected_bike_name = bike.getBikename();
Common.selected_bike_no = bike.getBikeno();
Common.selected_bike_park = bike.getBikeparkingapartment();
Common.selected_bike_address = bike.getBikeparkingaddress();
Common.selected_bike_image = bike.getBikeimage();
Common.selected_bike_fuel_per_km = bike.getBikekm();
Common.selected_bike_price_per_hour = bike.getBikeprice();
Common.selected_bike_late_price = bike.getBikelateprice();
Intent foodList = new Intent(Home.this, BookingSummary.class);
startActivity(foodList);
} catch (Exception e) {
}
}
});
}
}
@Override
protected void onCancelled(DatabaseError error) {
super.onCancelled(error);
}
};
adapter.notifyDataSetChanged();
recycler_vehicle_list.setAdapter(adapter);
}
![enter image description here](https://i.stack.imgur.com/5MrxQ.png)
, но здесь она отображается случайным образом для всех велосипедов. пожалуйста, помогите мне.