AlertDialog.Builder 不显示



我目前正在开发一个Android应用程序,我想检查从Contacts中选择的联系人是否已经存在于数据库中(意味着他已经是该应用程序的用户(,以及他是否存在以将其添加到列表中。我使用的是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();

最新更新