抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

AndroidX DialogFragment setOnDismissListener not work

很多时候,不是事情多糟糕

而是你把事情弄得更糟糕了

这两天在升级Gradle,替换项目框架,升级项目框架,其中升级了一个

androidx.appcompat:appcompat

说起来也没多少问题,就是一些api变更,以及一些方法的NPE变更,但是发现有个奇怪的事情,就是dialog的setOnDismissListener无效了。

dismiss/dismissAllowingStateLoss

一般我手动dismiss的时候,不会直接dismiss,因为这会触发一个exception

所以我都是dismissAllowingStateLoss,但是今天发现setOnDismissListener无效了,debug也无法断点到,看了下源码,发现:

然后再看了下DialogFragment的onActivityCreated方法:

所以很好解决了,就是覆盖DialogFragment的onDismiss方法即可。

override fun onDismiss(dialog: DialogInterface) {
    super.onDismiss(dialog)
    //your action
}


0条评论

发表评论