有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在AlertDialog builder标题右侧放置图标

我在互联网上找到的所有答案和信息似乎都过时了,我可以在左边的标题栏上添加一个简单的图标(用户图像),但我需要在右边再添加两个图像、一条消息和一部电话,就像一个简单的用户详细信息视图,问题是我不知道如何设置这些图像的位置,我唯一能做的就是:

AlertDialog.Builder builder = new AlertDialog.Builder(Friends.this);
                final User user = usersList.get(position);
                builder.setTitle(user.getUsername());
                builder.setMessage("You wanna delete friendgroup: " + user.getUsername());
                builder.setIcon(R.drawable.ic_user);
                builder.setCancelable(false);
                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //myRef.child("Users").child(userId).child("FriendLists").child(friend.getName()).removeValue();
                        //friendList.remove(friend);
                        //mAdapter.notifyDataSetChanged();
                    }
                });
                builder.show();

和建筑商在一起。setIcon我可以在左边添加一个图像,但是如何在标题的右边添加更多的图标呢?我真的需要一个自定义生成器来完成这项工作吗

谢谢


共 (1) 个答案

  1. # 1 楼答案

    您必须自定义AlertDialog

    试试这个:

    1. 设计一个RelativeLayout包含您的图标、标题和右侧消息、手机图标和其他内容
    2. 使用setView()方法将此布局设置为AlertDialog

      AlertDialog.Builder builder = new AlertDialog.Builder(Friends.this);
              final User user = usersList.get(position);
      
              LayoutInflater inflater = this.getLayoutInflater();
              View dialogView = inflater.inflate(R.layout.your_dialog_layout, null);
              builder.setView(dialogView);
      
              builder.setCancelable(false);
              builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                      //myRef.child("Users").child(userId).child("FriendLists").child(friend.getName()).removeValue();
                      //friendList.remove(friend);
                      //mAdapter.notifyDataSetChanged();
                  }
              });
              builder.show();
      

    这是一个很好的tutorial

    希望这会有所帮助~