6

Is there a callback when an AlertDialog is closed using the touch outside event? I have this enabled "setCanceledOnTouchOutside(true)". I want to set a visibility of a specific view once the AlertDialog is closed using the touch outside event. Any ideas?

I am using the AlertDialog.Builder() inside a Fragment if that helps.

Aivan Monceller
  • 4,636
  • 10
  • 42
  • 69

3 Answers3

4

an OnDismissListener seems most appropriate, but it requires a relatively high API level, so you might need to stick with an OnCancelListener instead.

NasaGeek
  • 2,138
  • 1
  • 15
  • 19
3

I post Kotlin version because i was looking for it today and i had hard time

val builder = AlertDialog.Builder(requireContext())

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

builder.setOnCancelListener {  func->Log.i("meh","meh") }
thbglbwsk
  • 31
  • 3
2

If you are within custom dialog class, and wish to catch 'clicked outside dialog' event - override cancel(). If you wish to catch any'dialog closed' event - override dismiss(). I recommend inserting logic BEFORE super.dismiss(). Kotlin example:

override fun dismiss() {
    Utils.hideKeyboard(mContext, window)
    super.dismiss()
}
SilverTech
  • 399
  • 4
  • 11