Android 警报对话框不显示怎么了?

Android Alert Dialog Box Not showing Up Whats Wrong?

我正在关注 Youtube 教程以在我的视图 Holder.In 上显示警报对话框,当我点击View Holder 它甚至没有出现或正在做 anything.However Onclick Listener 正在工作 fine.I 已经用 Toast 消息尝试过并且 Toast 正在显示。

private RecyclerView myFriendsList;
private DatabaseReference FriendsRef,UsersRef;
private FirebaseAuth mAuth;
private String online_user_id;
private TextView friends;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_friends);

    myFriendsList = (RecyclerView) findViewById(R.id.friends_list);
    friends = (TextView) findViewById(R.id.all_friends);
    myFriendsList.setHasFixedSize(true);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
    linearLayoutManager.setReverseLayout(true);
    linearLayoutManager.setStackFromEnd(true);
    myFriendsList.setLayoutManager(linearLayoutManager);

    mAuth = FirebaseAuth.getInstance();
    online_user_id = mAuth.getCurrentUser().getUid();
    FriendsRef = FirebaseDatabase.getInstance().getReference().child("Friends").child(online_user_id);
    UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");

    DisplayAllFriends();
}

private void DisplayAllFriends() {

    FirebaseRecyclerOptions<Friends> options=new FirebaseRecyclerOptions.Builder<Friends>().
            setQuery(FriendsRef ,Friends.class).build();
    FirebaseRecyclerAdapter<Friends, FriendsViewHolder> adapter = new FirebaseRecyclerAdapter<Friends, FriendsViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull final FriendsViewHolder holder,int position, @NonNull Friends model) {


            holder.setDate(model.getDate());
            final String userIDs = getRef(position).getKey();

            UsersRef.child(userIDs).addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                    if(dataSnapshot.exists())
                    {

                        final String username = dataSnapshot.child("fullname").getValue().toString();
                        final String profileimage = dataSnapshot.child("profileimage").getValue().toString();


                        holder.setFullname(username);
                        holder.setProfileimage(getApplicationContext(),profileimage);

                        holder.mView.setOnClickListener(new View.OnClickListener() {
                           @Override
                           public void onClick(View v) {

                               CharSequence options[] = new CharSequence[]
                                       {
                                               username + "'s Profile",
                                               "Send Message"

                                       };


                               AlertDialog.Builder builder = new 
                               AlertDialog.Builder(FriendsActivity.this);
                               builder.setTitle("Select Options");

                               builder.setItems(options, new DialogInterface.OnClickListener() {
                                   @Override
                                   public void onClick(DialogInterface dialog, int which) {

                                       if(which == 0)
                                       {

                                           Intent ProfileIntent = new 
                                           Intent(FriendsActivity.this,PersonProfileActivity.class);
                                           ProfileIntent.putExtra("visit_user_id",userIDs);
                                           startActivity(ProfileIntent);

                                       }

                                       if(which == 1)
                                       {

                                           Intent ChatIntent = new 
                                           Intent(FriendsActivity.this,ChatActivity.class);
                                           ChatIntent.putExtra("visit_user_id",userIDs);
                                           startActivity(ChatIntent);

                                       }
                                   }
                               });
                           }
                       });

                    }

                }

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

                }
            });
        }

        @NonNull
        @Override
        public FriendsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
            View view= LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.all_users_display_layout,viewGroup,false);

            FriendsActivity.FriendsViewHolder holder=new FriendsActivity.FriendsViewHolder(view);
            return holder;
        }

    };

    myFriendsList.setAdapter(adapter);
    adapter.startListening();
}

public static class FriendsViewHolder extends RecyclerView.ViewHolder

{

    View mView;

    public FriendsViewHolder(@NonNull View itemView) {
        super(itemView);

        mView = itemView;

    }
    public void setProfileimage(Context ctx, String profileimage) {

        CircleImageView myImage = (CircleImageView) mView.findViewById(R.id.all_users_profile_image);
        PicassoProvider.get().load(profileimage).placeholder(R.drawable.profile).into(myImage);
    }

    public void setFullname(String fullname) {
        TextView myName = (TextView) mView.findViewById(R.id.all_users_profile_full_name);
        myName.setText(fullname);

    }


    public void setDate(String date) {
        TextView friendsDate = (TextView) mView.findViewById(R.id.all_users_status);
        friendsDate.setText("Friends Since: " + date);

    }
}

您忘记在提醒对话框生成器中调用 builder.show()。在builder.setItems(...)

之后可以调用这个方法

builder.show();当方法为 运行 时会让对话框出现。