Как извлечь данные из firebase в RecyclerviewView на основе логического условия - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу получить данные из базы. Я храню эти данные в адаптере просмотра 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

, но здесь она отображается случайным образом для всех велосипедов. пожалуйста, помогите мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...