对话框里不是可以动态添加EditView之类的控件么?能不能放.xml方式构建好的布局呢?
如果可以的话,那岂不是可以搞出功能很强大的对话框了?
甚至很多时候可以代替Activity了。
既可以跟主Activity共享上下文、名字空间,
不用象多Activity那样把变量传来传去。
又可以充分利用布局文件构造界面的灵活性与复杂性。

解决方案 »

  1.   

    可以简单贴出代码
    LayoutInflater factory = LayoutInflater.from(this);  
       dialogView = factory.inflate(R.layout.mydialog, null);  
      
       AlertDialog dialog = new AlertDialog.Builder(A.this)  
       .setTitle("dialog")  
       .setIcon(R.drawable.icon)  
       .setView(dialogView)  
       .setPositiveButton("确定", new DialogInterface.OnClickListener() {  
         @Override  
         public void onClick(DialogInterface dialog, int which) {  
            //代码
         }  
       }  
      
       )
       .setNegativeButton("取消",null)
       .show();   
      
      
      

  2.   

    楼上正解setView()方法就是提供一个往dialog中嵌套布局的功能setView(R.layout.XXX)
      

  3.   

    唔。我回头试一下,再答复您。另:那个获取控件大小的帖子出新情况了,请稍等看我在回帖里的详述。问题的保姆,帖子的管家——《Csdn收音机》!
      

  4.   

    啥都不说了,完美解答,只有心悦诚服地送分了并致谢了。绿色辅助工具——《Csdn收音机》帮你轻松掌握Csdn最新动向!
      

  5.   

    还是遇到问题了:如果监听布局文件中的控件?如2中如布局中有Button,我可以用geText()正确取回它的文本,但绑定了监听器以后,点击没有相应的反应。请问应该怎么设置?要注意些什么?发帖子也有微博效果!一起用《Csdn收音机》吧!
      

  6.   


    setView(View view)
    可以这样:
    LayoutInflater li = Test1128_2Activity.this.getLayoutInflater();
    LinearLayout ll = (LinearLayout)li.inflate(R.layout.dialog, null);
    setView(ll);