SingleValueEvent Показывает ноль - PullRequest
0 голосов
/ 15 декабря 2018
Query sqlite = mDatabaseReference.child("Messages").child(MessageSenderId).child(MessageRecieverId);
sqlite.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

                if (dataSnapshot.hasChild("Message")) {
                    String msg = dataSnapshot.child("Message").getValue().toString();
                    String from = dataSnapshot.child("From").getValue().toString();
                    String time = dataSnapshot.child("Time").getValue().toString();

                } else {
                    Toast.makeText(getApplicationContext(), "NULLLL", Toast.LENGTH_SHORT).show();
                }

База данных

enter image description here

Это самая простая вещь в базе данных.У меня никогда не возникало проблем с childEvent или valueEvent, и я хочу пока одно событие, и я не могу получить его.

Нет ошибки, потому что я поставил оператор if и егопоказывает toast как null , что означает, что dataSnapshot не имеет дочерних имен с именами сообщений, но он тут же.Я тоже пытался поставить цикл for, но не сработало

1 Ответ

0 голосов
/ 15 декабря 2018

Вы не дали полную ссылку.Есть список нажимных клавиш, и вы должны использовать цикл foreach.

Query sqlite = mDatabaseReference.child("Messages").child(MessageSenderId).child(MessageRecieverId);
sqlite.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

for (DataSnapshot vinSnapshot : dataSnapshot.getChildren()) {
                    if (vinSnapshot .hasChild("Message")) {
                    String msg = dataSnapshot.child("Message").getValue().toString();
                    String from = dataSnapshot.child("From").getValue().toString();
                    String time = dataSnapshot.child("Time").getValue().toString();

                } else {
                    Toast.makeText(getApplicationContext(), "NULLLL", Toast.LENGTH_SHORT).show();
                }
                }

Или вы можете сохранить все данные в ArrayList, а затем выполнить свою задачу.

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