Как отключить значение флажка для других после его сохранения в базе данных Firebase? - PullRequest
0 голосов
/ 14 февраля 2020

Здесь я работаю над проектом, основанным на парковке в android. При этом пользователь сначала выбирает комплекс, а затем выбирает место для парковки, а затем записывает место, где это мой сценарий. Вот мой вопрос: если пользователь бронирует место в определенном комплексе, то как отключить это конкретное место для других пользователей.

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

Я просто добавил значения и другие подробности в базу данных Firebase, и мой код для добавления значений в базу данных:

Это мой код для загрузки значений в базу данных:

           checkupdate = FirebaseDatabase.getInstance().getReference().child("Users").child(coID).child(slotID).child(place).child(phone).child("place");
                        Avilsize = FirebaseDatabase.getInstance().getReference().child("Users").child(coID).child(slotID).child(place).child(phone);

                        HashMap<String, Object> avilsizetMap = new HashMap<>();

                        if (place.equals("place1"))
                        {
                            int a = check + 1;
                            bookplace = (String) "place1";

                            check = a;
                            String b = "value" + a;
                            HashMap<String, Object> checkmap = new HashMap<>();
                            checkmap.put("Value", "place1");
                            checkupdate.child(b).updateChildren(checkmap);

                        }
                        if (place.equals("place2")) {
                            int a = check + 1;

                            bookplace = bookplace + "/" + (String) "place2";

                            check = a;
                            String b = "value" + a;
                            HashMap<String, Object> checkmap = new HashMap<>();
                            checkmap.put("Value", "place2");
                            checkupdate.child(b).updateChildren(checkmap);

                        }
                        if (place.equals("place3")) {
                            int a = check + 1;
                            bookplace = bookplace + "/" + (String) "place3";

                            check = a;
                            String b = "value" + a;
                            HashMap<String, Object> checkmap = new HashMap<>();
                            checkmap.put("Value", "place3");
                            checkupdate.child(b).updateChildren(checkmap);

                        }
                        if (place.equals("place4")) {
                            int a = check + 1;
                            bookplace = bookplace + "/" + (String) "place4";

                            check = a;
                            String b = "value" + a;
                            HashMap<String, Object> checkmap = new HashMap<>();
                            checkmap.put("Value", "place4");
                            checkupdate.child(b).updateChildren(checkmap);

                        }
                        if (place.equals("place5")) {
                            int a = check + 1;
                            bookplace = bookplace + "/" + (String) "place5";

                            check = a;
                            String b = "value" + a;
                            HashMap<String, Object> checkmap = new HashMap<>();
                            checkmap.put("Value", "place5");
                            checkupdate.child(b).updateChildren(checkmap);

                        }
                        if (place.equals("place6")) {
                            int a = check + 1;
                            bookplace = bookplace + "/" + (String) "place6";

                            check = a;
                            String b = "value" + a;
                            HashMap<String, Object> checkmap = new HashMap<>();
                            checkmap.put("Value", "place6");
                            checkupdate.child(b).updateChildren(checkmap);
                        }
                        avilsizetMap.put("book_place", bookplace);
                        Avilsize.updateChildren(avilsizetMap);

моя структура базы данных this my structure of database

Я попробовал один набор кода для получения значений, но это не работает, и код здесь

                       final List<String >  areas = new ArrayList<>();

                        for (DataSnapshot areaSnapshot : dataSnapshot.getChildren())
                        {
                            String areaName = areaSnapshot.child("Value").getValue(String.class);
                            areas.add(areaName);
                        }
                        for (String area : areas)
                        {
                            if(area.equals("place1"))
                            {
                                Place1.setChecked(true);
                            }
                            if(area.equals("place2")){
                                Place2.setChecked(true);
                            }
                            if(area.equals("Place3")){
                                Place3.setChecked(true);
                            }
                            if(area.equals("Place4")){
                                Place4.setChecked(true);
                            }
                            if(area.equals("Place5")){
                                Place5.setChecked(true);
                            }
                            if(area.equals("Place6")){
                                Place6.setChecked(true);
                            }
                        }

это мой макет в xml

        <LinearLayout
            android:id="@+id/ll1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:background="#FFF"
            android:gravity="center"
            android:layout_marginRight="20dp"
            android:layout_marginLeft="20dp"
            android:orientation="horizontal"
            android:padding="20dp">

              <TableLayout
                 android:padding="3dp"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:stretchColumns="3">
                    <TableRow>
                       <CheckBox
                           android:id="@+id/pl1"
                           android:layout_width="40dp"
                           android:layout_height="40dp"
                           android:tag="place1"
                           android:button="@drawable/checkbox_bg"
                           />
                       <CheckBox
                           android:id="@+id/pl2"
                           android:layout_width="40dp"
                           android:tag="place2"
                           android:layout_height="40dp"
                           android:button="@drawable/checkbox_bg"
                           />
                       <CheckBox
                           android:id="@+id/pl3"
                           android:layout_width="40dp"
                           android:tag="place3"
                           android:layout_height="40dp"
                           android:button="@drawable/checkbox_bg"
                           />
                    </TableRow>
              </TableLayout>

              <TableLayout
                 android:id="@+id/table2"
                 android:layout_marginLeft="70dp"
                 android:layout_width="wrap_content"
                 android:padding="3dp"
                 android:layout_height="wrap_content"
                 android:stretchColumns="3">
                    <TableRow>
                        <CheckBox
                            android:id="@+id/pl4"
                            android:layout_width="40dp"
                            android:layout_height="40dp"
                            android:tag="place4"
                            android:button="@drawable/checkbox_bg"
                            />
                        <CheckBox
                            android:id="@+id/pl5"
                            android:layout_width="40dp"
                            android:layout_height="40dp"
                            android:tag="place5"
                            android:button="@drawable/checkbox_bg"
                            />
                       <CheckBox
                           android:id="@+id/pl6"
                           android:layout_width="40dp"
                           android:layout_height="40dp"
                           android:tag="place6"
                           android:button="@drawable/checkbox_bg"
                           />
                     </TableRow>
               </TableLayout>

          </LinearLayout>

         <Button
                android:id="@+id/next"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:textColor="#FFF"
                android:layout_marginBottom="10dp"
                android:textSize="30sp"
                android:fontFamily="cursive"
                android:layout_marginStart="10dp"
                android:layout_marginEnd="10dp"
                android:padding="5dp"
                android:background="@drawable/btn_bg"
                android:text="Book" />

Я надеюсь, что кто-то даст мне решение, спасибо ...

...