如何处理AlertDialog关闭事件?

时间:2014-01-29 17:19:01

标签: android android-fragments android-alertdialog

使用触摸外部事件关闭AlertDialog时是否有回调?我启用了“setCanceledOnTouchOutside(true)”。我想在使用touch outside事件关闭AlertDialog后设置特定视图的可见性。有什么想法吗?

如果有帮助,我在Fragment中使用AlertDialog.Builder()。

3 个答案:

答案 0 :(得分:4)

OnDismissListener似乎最合适,但它需要相对较高的API级别,因此您可能需要坚持使用OnCancelListener

答案 1 :(得分:1)

我发布Kotlin版本是因为我今天在寻找它,而且我很辛苦

val builder = AlertDialog.Builder(requireContext())

builder.setTitle("title")
builder.setMessage("message")

builder.setOnCancelListener {  func->Log.i("meh","meh") }

答案 2 :(得分:0)

如果您位于自定义对话框类中,并且希望捕获“对话框外单击”事件,请覆盖cancel()。如果您希望捕获任何“对话框关闭”事件,请覆盖dismiss()。 我建议在super.dismiss()之前插入逻辑。 Kotlin示例:

override fun dismiss() {
    Utils.hideKeyboard(mContext, window)
    super.dismiss()
}