setOnDismissListener作用

先说下Activity里面有showDialog和onCreateDialog两个函数:

在某个地方你想弹出一个dialog,可以这样做,在onCreateDialog里面new一个Diloag,然后在想要触发dialog的地方调用showDialog即可。

showDialog(id)先是从缓存也就是hashMap里面查看有木有这个id也就key对应的dialog对象,如果有则取出来,如果没有则new一个dialog对象

这样就会产生一个问题,假若说这个dialog自带数据,比方说日期dialog,我修改了原来的日期,但是我点击取消或者点击back键,之后,然后又触发改日期dialog,结果日期

不是原来保存的那个日期,而是刚才我修改之后的日期,这里就出问题了,原因是原来缓存里的dialog没有置null,再次触发dialog选择了重用以前的对象,所以造成了修改之后没有保存的数据替代保存的数据假象,解决的办法也很简单注册一个监听器即可setOnDismissListener在里面dismissdialog即可。或者removedialog。这样无论是点击back键还是点击取消button都不会出现修改之后没有保存的数据成了默认显示在dialog里面
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值