java - 在 AlertDialog 中显示自定义 View

标签 java android android-alertdialog android-custom-view

我有一个扩展 LinearLayout 的类。它只包含两个 EditBox。单击某些按钮,我想在警报对话框中加载此类。当我点击按钮时,会显示警告对话框,但不会显示扩展 LinearLayout 的 View 类。代码如下。我被困在这个。我能得到一些解决方案吗??

public class StudentDialog extends LinearLayout {
    Context context;
    LinearLayout layout;

    public StudentDialog(Context context) {
        super(context);
        this.context = context;
        createStudentDialog();
    }

    private void createStudentDialog() {

        layout = new LinearLayout(context);
        layout.setOrientation(LinearLayout.VERTICAL);
        layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));
        layout.setPadding(10, 10, 10, 10);
        layout.setId(200);

        EditText studentName = new EditText(context);
        studentName.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        studentName
                .setTextAppearance(getContext(), TEXT_DIRECTION_FIRST_STRONG);

        EditText address = new EditText(context);
        address.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        address.setTextAppearance(getContext(), TEXT_DIRECTION_FIRST_STRONG);

        layout.addView(studentName);
        layout.addView(address);

    }

}

//Now i am calling this on some button click listener as follows. The alert dialog is displayed but not the StudentDialog. 

StudentDialog dialog = new StudentDialog(this);



        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setView(dialog);

        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();

最佳答案

如果你改变它应该工作

alertDialogBuilder.setView(dialog);

作为

alertDialogBuilder.setView(dialog.layout);

关于java - 在 AlertDialog 中显示自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22374827/

相关文章:

java - Java中空赋值有什么好处?

JavaFX - 使 TableView 高度适应行数

android - 如何以编程方式在 Android 上录制高速视频 (60-120fps)

android - 如何在下层库中初始化Firebase Cloud Messaging?

Android:如何以编程方式设置对话框上按钮的文本大小?

安卓:自定义AlertDialog

java - 可执行jar并双击

java - 迁移到 AndroidX 后,我收到此错误 inflateing class <unknown>

java - 如何在 android studio 中将设定的字符串转换为语音?

java - 启用 GPS 提供商时关闭对话框