How to retrieve data from firebase into RecyclerviewView based on boolean condition

0

I want to retrieve data from firebase. i am storing those data into firebase recyclerview adapter. now i have requirement that all the data should be sorted based on boolean value. for example all true value fields come first and false value should come once true data finished.

like in bike availability all the available bike should be display. and bottom of available bike not available bike should be displayed. bike table has field of isAvailablity where it stored true or 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

but here it is displayed randomly all the bikes. please help me.

firebase
firebase-realtime-database
android-recyclerview
recycler-adapter
asked on Stack Overflow Feb 19, 2020 by Pitchai Mari

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0