这可能与
cancel()您的代码中没有显式调用的事实有关。该OnCancelListener文档说:
仅在取消对话框时调用
这可能需要显式
cancel()调用。
用a
OnClickListener调用一个正/负按钮,
DialogInterface#cancel()或使用a
onDismissListener()进行额外检查以查看是否单击了列表项。
另外,要监听后退按键并取消对话框,您可以设置一个
OnKeyListener,如本SO回答中所述
同样,一旦设置了对话框,最好还是使用一个好方法
Dialog#setCanceledonTouchOutside(),以防用户在对话框外点击。
编辑:以下部分是处理DialogFragment中的取消事件的简单方法。
由于您使用
DialogFragment,因此此类具有一个非常方便的方法,
DialogFragment#onCancel()当
DialogFragment取消时会调用该方法。在那做你的逻辑。
DialogFragments更复杂,其生命周期与普通对话框略有不同。因此,如果您有
Dialog尝试移植到的基于特定方法的方法,请首先查看文档
DialogFragment,其中可能存在一些使新实现正常运行的方法!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)