2011-01-25 45 views
0

这是我的问题。我想要一个AlertDialog,它有一个标题和一个肯定的按钮。我想在XML文件中描述AlertDialog的内容(标题/按钮除外)。 我在布局资源中创建了一个名为dlg_addpwd.xml的文件。 这里是代码我使用:如何定义AlertDialog的视图XML文件中描述的视图

AlertDialog alert = new AlertDialog.Builder(this); 
    alert.setTitle("Password access"); 
    alert.setView(findViewById(R.layout.dlg_addpwd)); 
    alert.setPositiveButton("Add", listenAddPwdDlg); 
    alert.show(); 

我猜线

alert.setView(findViewById(R.layout.dlg_addpwd)); 

是错误的,不是吗? 所以我的问题的主要想法是:如何定义一个AlertDialog的视图在XML文件中描述的视图?

感谢

文森特

回答

7
LayoutInflater inflater = (LayoutInflater) 
     getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View layout = inflater.inflate(R.layout.paypaldialog, 
     (ViewGroup) findViewById(R.id.yourDialog)); 
    AlertDialog.Builder builder = new AlertDialog.Builder(YourClass.this) 
     .setView(layout); 
    alertDialog = builder.create(); 
    alertDialog.show(); 

这就是我该怎么做的。

1

见我的回答Customizing the Alert dialog in Android创建一个自定义警告对话框。

您的代码的主要问题是您不想使用AlertDialog.Builder。相反,您希望创建一个新的Dialog,并使用setContentView()来呈现您的XML。

相关问题