Java AlertDialog.Builder不';不显示

Java AlertDialog.Builder不';不显示,java,android,firebase,android-alertdialog,Java,Android,Firebase,Android Alertdialog,我目前正在开发一个Android应用程序,我想检查从联系人中挑选的联系人是否已经存在于数据库中(这意味着他已经是该应用程序的用户),以及他是否存在以将其添加到列表中。 我使用的是Firebase实时数据库,我的问题是,如果在数据库中找不到用户并且没有显示,我会尝试显示一个AlertDialog 我提到该代码是有效的:如果数据库中存在联系人,它会在列表中添加联系人,如果他不存在,它不会添加联系人,但我的AlertDialog不会显示 这是我迄今为止一直在尝试的: users_table.order

我目前正在开发一个Android应用程序,我想检查从联系人中挑选的联系人是否已经存在于数据库中(这意味着他已经是该应用程序的用户),以及他是否存在以将其添加到列表中。 我使用的是Firebase实时数据库,我的问题是,如果在数据库中找不到用户并且没有显示,我会尝试显示一个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) { }});

我认为你应该创建一个AlertDialog.Builder,用你想要的来构建它;然后在调用show()之前调用create()。可能看起来像这样:


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();


我认为你应该创建一个AlertDialog.Builder,用你想要的来构建它;然后在调用show()之前调用create()。可能看起来像这样:


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();


你能调试你的应用程序并检查是否输入条件
else if(!data.exists()){
你能调试你的应用程序并检查是否输入条件
else if(!data.exists()){