1

在某些时候,我需要将 Alertdialogs 向用户提出问题,等待他/她一一回答。代码将类似于:

for (int i=0; i<SomeValue; i++)
{
    Msg = "Do you want to add " + mylist.get(i) + " to the system?";
    AlertDialog ADB = new AlertDialog.Builder(this)
      .setIcon(android.R.drawable.ic_dialog_alert)
      .setTitle("New document " + mylist.get(i))
      .setMessage(Msg)
      .setPositiveButton("Add", new DialogInterface.OnClickListener() {

  @Override
  public void onClick(DialogInterface dialog, int which) {
      // Function to develop

   }
   })
.setNegativeButton("Ignore", null)
.show();
}

那么,为 onClick 功能开发:我怎么知道与哪个 Alertdialog 相关联?例如,如何通过 onClick 函数知道当前 Alertdialog 的标题是什么?

4

3 回答 3

0

您应该查看 DialogFragments。创建一个扩展 DialogFragment 的类。onClickListener 应该可以访问片段变量和方法 - 这可能包括标题的成员变量

于 2012-10-04T21:57:24.577 回答
0

现在,您无法访问默认标题,因此您需要使用 : 设置标题 setCustomTitle(View v)- 只需将其设为一个简单的布局 XML 文件,其中包含您的标题TextView

在这样的方法中DialogInterface转换为:AlertDialogonClick()

((AlertDialog)dialog)

现在你可以像这样访问任何你想要的东西:

((AlertDialog)dialog).findViewById(R.id.YOUR_TITLE_TEXTVIEW_ID).getText()
于 2012-10-04T22:24:36.790 回答
0

由于您使用的是匿名内部类,因此只有一个AlterDialog会调用此onClick()方法,即您正在构建的内部类。您不需要检测单击了哪个Dialog按钮,因为只有一个。如果您出于其他原因需要标题,请随意使用其他建议。

于 2012-10-04T22:47:45.610 回答