很多时候,不是事情多糟糕
而是你把事情弄得更糟糕了
这两天在升级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条评论