就像标题所说的,在Android中对话框被取消或被取消有什么区别?
当前回答
dismiss是你必须在代码中显式调用的东西,通常用于响应对话框中按钮的单击事件。如果您愿意,您可以在Activity中调用disdisdialog,它将反过来在Dialog上调用disdisdialog。
取消方法只在代码中显式调用时执行,或者当用户在可取消对话框打开时按下BACK按钮时执行(正如@Lee指出的那样)。
如果您正在使用DatePicker,那么所有这些情况仍然是如此。正如@Lee所说,DatePickerDialog。OnDateSetListener仅仅检测用户何时从DatePicker中选择了一个日期。
Android开发者参考提供了更多关于对话框的信息。
其他回答
通常情况下,当一个对话框的任务完成并从屏幕上删除时,该对话框将被取消。当用户想要退出对话框并按下Back按钮时,对话框将被取消。
例如,屏幕上有一个标准的Yes/No对话框。如果用户单击No,那么对话框将被终止,No的值将返回给调用者。如果用户不选择Yes或No,而是单击Back以转义对话框,而不是做出选择,那么对话框将被取消,并且没有值返回给调用者。
dismiss是你必须在代码中显式调用的东西,通常用于响应对话框中按钮的单击事件。如果您愿意,您可以在Activity中调用disdisdialog,它将反过来在Dialog上调用disdisdialog。
取消方法只在代码中显式调用时执行,或者当用户在可取消对话框打开时按下BACK按钮时执行(正如@Lee指出的那样)。
如果您正在使用DatePicker,那么所有这些情况仍然是如此。正如@Lee所说,DatePickerDialog。OnDateSetListener仅仅检测用户何时从DatePicker中选择了一个日期。
Android开发者参考提供了更多关于对话框的信息。
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将从屏幕上删除对话框。此方法可以是 从任何线程安全调用。注意,当对话框被解散时,你不应该重写这个方法来做清理,而是在onStop中实现。
取消调用取消,取消对话框。这本质上与调用dismiss()相同,但它也会调用你的DialogInterface。OnCancelListener,如果注册。
隐藏此方法隐藏对话框,但不关闭它。
更多信息请看这里
推荐文章
- 我如何改变默认对话框按钮的文本颜色在安卓5
- 更改单选按钮的圆圈颜色
- 如何在android中复制一个文件?
- adb找不到我的设备/手机(MacOS X)
- 如何在新的材质主题中改变背面箭头的颜色?
- androidviewpager与底部点
- 相同的导航抽屉在不同的活动
- 如何从视图中获得托管活动?
- 单一的TextView与多种颜色的文本
- 如何在非活动类(LocationManager)中使用getSystemService ?
- 在清单中注册应用程序类?
- Android:从数组中编程创建旋转器
- Android命令行工具sdkmanager总是显示:警告:无法创建设置
- 如何设置RecyclerView应用程序:layoutManager=""从XML?
- 在没有开发服务器的情况下在设备上构建和安装unsigned apk ?