Как я могу найти существующий узел по имени и добавить некоторые дополнительные значения к существующему списку ArrayList в базе данных Firebase? - PullRequest
0 голосов
/ 06 марта 2019

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

Для простоты я включаю ту часть кода, которая вызывает проблемы:

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

else {    
    user u=new user(SharedPrefManager.getmInstnce(ChatList.this).getUsername(),SharedPrefManager.getmInstnce(ChatList.this).getmail());

    for(int l=0;l<grpar.size();l++){
        if(grpar.get(l).getName().equalsIgnoreCase(grpname)){
            index=l;
            break;
        }
    }
    Log.i("Checking QUERY","Value exist!!!!  in  "+ index);
    grpar.get(index).getGrpMembers().add(u);
    Group grp=new Group(grpname,grpar.get(index).getGrpMembers());
    grpRef.push().setValue(grp).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if(task.isSuccessful())
            {
                Intent intent = new Intent(ChatList.this,MainActivity.class);
                intent.putExtra("Id","none");
                intent.putExtra("Name",grpname);
                startActivity(intent);
            }
            else
            {
                Toast.makeText(ChatList.this,"Data Not Added Completely",Toast.LENGTH_SHORT).show();
            }
        }
    });
}

С того момента, как я применил следующую логику, он начал работать ненормально:

for(int l=0;l<grpar.size();l++){
    if(grpar.get(l).getName().equalsIgnoreCase(grpname)){
        index=l;
        break;
    }
}

Я также присоединяю структуру БД:

I am also attaching the DB structure-

Я не могу понять, где ошибка! Любая помощь приветствуется

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