在DialogFragment中未调用OnCancelListener

在DialogFragment中未调用OnCancelListener,第1张

在DialogFragment中未调用OnCancelListener

这可能与

cancel()
您的代码中没有显式调用的事实有关。该OnCancelListener文档说:

仅在取消对话框时调用

这可能需要显式

cancel()
调用。

用a

OnClickListener
调用一个正/负按钮,
DialogInterface#cancel()
或使用a
onDismissListener()
进行额外检查以查看是否单击了列表项。

另外,要监听后退按键并取消对话框,您可以设置一个

OnKeyListener
,如本SO回答中所述

同样,一旦设置了对话框,最好还是使用一个好方法

Dialog#setCanceledonTouchOutside()
,以防用户在对话框外点击。

编辑:以下部分是处理DialogFragment中的取消事件的简单方法。

由于您使用

DialogFragment
,因此此类具有一个非常方便的方法,
DialogFragment#onCancel()
DialogFragment
取消时会调用该方法。在那做你的逻辑。

DialogFragments更复杂,其生命周期与普通对话框略有不同。因此,如果您有

Dialog
尝试移植到的基于特定方法的方法,请首先查看文档
DialogFragment
,其中可能存在一些使新实现正常运行的方法!



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5623258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存