Вызов двух функций DataSnapshot - PullRequest
0 голосов
/ 01 июля 2019

Я хочу использовать два вложенных DataSnapshot.Первое, что вы видите в коде, - это извлечь значение DbValue из базы данных, а затем посмотреть, соответствует ли DbValue данным, которые я выбрал в счетчике.Это spinner.with getSelectedItem (), я правильно извлекаю значения DbValue из базы данных.Я проверил записи журнала.Но это не входит в, если.На данный момент эти данные должны быть равны, но не попадают в пределы, если.

Firebase

final DatabaseReference dbProducts = FirebaseDatabase.getInstance().getReference("0").child("titles");
final DatabaseReference dbProductsRooms = FirebaseDatabase.getInstance().getReference("0").child("titles").child("0");
dbProductsRooms.child("places")
    .addListenerForSingleValueEvent( 
        new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    String DbValue = (String) dataSnapshot.getValue();

                    if (DbValue == String.valueOf(spinner.getSelectedItem())) {

                        dbProducts.addListenerForSingleValueEvent(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot dataSnapshot) {
                                productList = new ArrayList<>();

                                if (dataSnapshot.exists()) {

                                    for (DataSnapshot productSnapshot : dataSnapshot.getChildren()) {
                                            Product p = productSnapshot.getValue(Product.class);
                                            productList.add(p);
                                        }
                                        adapter = new ProductsAdapter(MainActivity.this, productList);
                                        recyclerView.setAdapter(adapter);
                                    }
                                }

                                @Override
                                public void onCancelled(DatabaseError databaseError) {
                               }
                            });
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                }
            });

1 Ответ

0 голосов
/ 01 июля 2019

Изменить эту строку -

if (DbValue == String.valueOf(spinner.getSelectedItem())) 

до

if (DbValue.equals(spinner.getSelectedItem().toString()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...