Java 自定义对话框中的嵌套LinerLayout未显示

Java 自定义对话框中的嵌套LinerLayout未显示,java,android,android-alertdialog,Java,Android,Android Alertdialog,我正在尝试创建一个自定义对话框,其中包含主LinearLayout,其中包含两个嵌套的LinearLayout,其中包含ImageView和TextView 但问题是没有出现任何线性布局。我甚至没有收到任何错误,应用程序也没有崩溃 多谢各位 以下是与此问题相关的代码段: AlertDialog.Builder builder = new AlertDialog.Builder(this); ll_main = new LinearLayout(AddFreebie.this);

我正在尝试创建一个自定义对话框,其中包含主LinearLayout,其中包含两个嵌套的LinearLayout,其中包含ImageView和TextView

但问题是没有出现任何线性布局。我甚至没有收到任何错误,应用程序也没有崩溃

多谢各位

以下是与此问题相关的代码段:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

        ll_main = new LinearLayout(AddFreebie.this);
        ll_main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        ll_main.setGravity(Gravity.CENTER);
        ll_main.setOrientation(LinearLayout.VERTICAL);

        ll_bpic = new LinearLayout(AddFreebie.this);
        ll_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        ll_bpic.setGravity(Gravity.CENTER);
        ll_bpic.setOrientation(LinearLayout.HORIZONTAL);
        iv_bpic = new ImageView(AddFreebie.this);
        iv_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        tv_bpic = new TextView(AddFreebie.this);
        tv_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        tv_bpic.setText("Browse phone for pictures..");

        ll_bpic.addView(iv_bpic);
        ll_bpic.addView(tv_bpic);

        ll_cpic = new LinearLayout(AddFreebie.this);
        ll_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        ll_cpic.setGravity(Gravity.CENTER);
        ll_cpic.setOrientation(LinearLayout.HORIZONTAL);
        iv_cpic = new ImageView(AddFreebie.this);
        iv_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        tv_cpic = new TextView(AddFreebie.this);
        tv_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        tv_cpic.setText("Take pictures using camera.");
        ll_cpic.addView(iv_cpic);
        ll_cpic.addView(tv_cpic);

        ll_main.addView(ll_bpic);
        ll_main.addView(ll_cpic);

        builder.setView(ll_main);
        builder.setCancelable(true);
        builder.setPositiveButton("Yes",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                // MyActivity.this.finish();
                            }
                        })
                .setNegativeButton("No",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                dialog.cancel();
                            }
                        });
        AlertDialog alert = builder.create();
        alert.show();

我可能不正确,但我不认为AlertDialog是您在这种情况下真正想要使用的。如果您阅读AlertDialogs上的开发者页面,它们实际上是用于0、1、2或3个按钮的小警报窗口,而不是真正有自己的真正自定义界面。以下是有关AlertDialogs的一些链接

要想做你想做的事,我想你要么想使用Diaglog,要么想使用PopupWindow

链接到创建自定义对话框:

链接到创建自定义popover窗口(我过去使用过这些):

实际上,我访问了第二个链接,然后开始使用对话框。在我的另一个项目中,我在对话框中有两个按钮的EditText(它没有被LinearLayout包围),它的显示和功能正常。你可以修改这里显示的几乎所有的例子,我正试图这样做,但我不知道为什么LinearLayout没有出现。感谢您的回复:)我不得不解决“添加列表”的问题,我从Link#2.LinearLayout仍然没有显示,所以我直接添加了文本视图,但我仍然需要找到一种方法,以便从两个文本视图中添加ImageView。您有什么理由通过代码添加所有内容,而不是从XML视图中膨胀吗?@eric.itzhak from XML视图?我没听懂。你是说为对话框创建一个专用布局,然后执行builder.setView(R.layout.dialog\u view)之类的操作?但也会是不一样的事情吗?感谢您的回复。是的,它将是相同的,但这样就没有理由让布局消失,而且更容易管理。@eric.itzhak-alrighty让我试试。我将发布它是如何运行的。感谢您的回复。我只是直接使用TextView,因为LinearLayouts仍然没有显示:(