AlertDialog.Builder не показывает - PullRequest
       10

AlertDialog.Builder не показывает

1 голос
/ 18 апреля 2020

В настоящее время я занимаюсь разработкой приложения Android и хочу проверить, существует ли уже выбранный контакт из Контактов в базе данных (имеется в виду, что он уже является пользователем приложения) и существует ли он, чтобы добавить его в список , Я использую базу данных Firebase Realtime, и моя проблема в том, что я пытаюсь отобразить AlertDialog, если пользователи не найдены в базе данных, и он не отображается.

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

Это то, что я пробовал до сих пор:

users_table.orderByChild("phoneNumber").equalTo(phoneNumber).addListenerForSingleValueEvent(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                            for(DataSnapshot data : dataSnapshot.getChildren()){
                                if(data.exists()){
                                    participantsList.add(user);
                                    adapter.notifyDataSetChanged();
                                }else if(!data.exists()){

                                 new AlertDialog.Builder(AddParticipants_Fragmnet.this.getContext())
                                            .setMessage(name + " is not a member of our app")
                                            .setTitle("Warning")
                                            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                                                @Override
                                                public void onClick(DialogInterface dialog, int which) {
                                                    dialog.dismiss();
                                                }
                                            }).show();


                                }
                            }
                        }

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

1 Ответ

0 голосов
/ 18 апреля 2020

Я думаю, вы должны создать AlertDialog.Builder, собрать его с тем, что вы хотите; и затем вызовите create () перед вызовом show (). Может выглядеть примерно так:


AlertDialog.Builder builder = new AlertDialog.Builder(AddParticipants_Fragmnet.this.getContext());
builder.setMessage(name + " is not a member of our app")
builder.setTitle("Warning")
builder.setPositiveButton("Ok", 
         new DialogInterface.OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
             }
         });
AlertDialog mdialog = builder.create();
mdialog.show();

...