为什么AlertDialog.Builder没有setOnDismissListener或setOnShowListener方法?

dan*_*anb 5 android android-alertdialog

我想使用AlertDialog.Builder的流体接口,但是当我到达添加我的DismissListener和ShowListener时,我必须在构建器上执行create()之后将其分解并添加到对话框对象中.有谁知道为什么他们不在那里?由于私人P成员,我无法扩展它...这不是世界末日或任何事情,我只是好奇为什么它不在那里.

cod*_*e22 7

你试过这种方法吗?

AlertDialog dlg = builder.create();
lg.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(final DialogInterface dialog) {
//Do some work
}
});
return dlg;
Run Code Online (Sandbox Code Playgroud)

  • public AlertDialog.Builder setOnDismissListener(DialogInterface.OnDismissListener onDismissListener)在API级别17中添加 (4认同)
  • 构建器有几种设置监听器的方法,而不是我提到的两种方法.它有setOnCancelListener,setOnItemSelectedListener和setOnKeyListener ..我只是好奇为什么api似乎不完整. (2认同)

Amo*_*sai 1

从 API 级别 17 开始,您可以使用setOnDismissListener (DialogInterface.OnDismissListener onDismissListener)方法