如何将AlertDialog视图定义为XML文件中描述的视图

时间:2011-01-25 16:59:00

标签: android alertdialog

这是我的问题。我想要一个具有标题和正面按钮的AlertDialog。我想在XML文件中描述AlertDialog的内容(标题/按钮除外)。 我在布局资源中创建了一个名为dlg_addpwd.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文件中描述的视图?

由于

文森特

2 个答案:

答案 0 :(得分: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 :(得分:1)

请参阅我对Customizing the Alert dialog in Android的回答,以创建自定义警报对话框。

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