就像标题所说的,在Android中对话框被取消或被取消有什么区别?
当前回答
通常情况下,当一个对话框的任务完成并从屏幕上删除时,该对话框将被取消。当用户想要退出对话框并按下Back按钮时,对话框将被取消。
例如,屏幕上有一个标准的Yes/No对话框。如果用户单击No,那么对话框将被终止,No的值将返回给调用者。如果用户不选择Yes或No,而是单击Back以转义对话框,而不是做出选择,那么对话框将被取消,并且没有值返回给调用者。
其他回答
调用Dismiss将从屏幕上删除对话框。此方法可以是 从任何线程安全调用。注意,当对话框被解散时,你不应该重写这个方法来做清理,而是在onStop中实现。
取消调用取消,取消对话框。这本质上与调用dismiss()相同,但它也会调用你的DialogInterface。OnCancelListener,如果注册。
隐藏此方法隐藏对话框,但不关闭它。
更多信息请看这里
The difference is all about returning the value to the caller function. dialog.cancel() will normally be called when the user hits the back button rather than selecting the choices that alert dialog offers like OK/Dismiss and return null/no value to the caller. While dialog.dismiss() is normally called when the user selects from the choices that alert dialog offers like hitting the Dismiss button on the dialog will dismiss the dialog and will return the non-null corresponding value to the caller. That's it.
dismiss是你必须在代码中显式调用的东西,通常用于响应对话框中按钮的单击事件。如果您愿意,您可以在Activity中调用disdisdialog,它将反过来在Dialog上调用disdisdialog。
取消方法只在代码中显式调用时执行,或者当用户在可取消对话框打开时按下BACK按钮时执行(正如@Lee指出的那样)。
如果您正在使用DatePicker,那么所有这些情况仍然是如此。正如@Lee所说,DatePickerDialog。OnDateSetListener仅仅检测用户何时从DatePicker中选择了一个日期。
Android开发者参考提供了更多关于对话框的信息。
通常情况下,当一个对话框的任务完成并从屏幕上删除时,该对话框将被取消。当用户想要退出对话框并按下Back按钮时,对话框将被取消。
例如,屏幕上有一个标准的Yes/No对话框。如果用户单击No,那么对话框将被终止,No的值将返回给调用者。如果用户不选择Yes或No,而是单击Back以转义对话框,而不是做出选择,那么对话框将被取消,并且没有值返回给调用者。
推荐文章
- 在Android中,对话框被取消或被取消有什么区别?
- 在ScrollView触摸处理中的HorizontalScrollView
- 何时在Android中使用RxJava,何时使用Android架构组件中的LiveData ?
- 如何在Android项目中使用ThreeTenABP
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 我的Android设备没有出现在adb设备列表中
- 在没有安装apk的情况下获取Android .apk文件的VersionName或VersionCode
- Fragment onResume() & onPause()不会在backstack上被调用
- 如何设置基线对齐为假提高性能在线性布局?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何改变TextInputLayout的浮动标签颜色
- Android工作室如何运行gradle同步手动?
- 如何以编程方式在我的EditText上设置焦点(并显示键盘)