美文网首页
Dialog 生命周期

Dialog 生命周期

作者: Vic_wkx | 来源:发表于2022-12-07 15:46 被阅读0次

Dialog 生命周期主要包含以下几个方法:

show
onCreate
onStart
onAttachedToWindow
cancel
dismiss
onDetachedFromWindow
onStop

在创建并 show 时,调用:

show
onCreate
onStart
onAttachedToWindow

在 dismiss 时,调用:

cancel
dismiss
onDetachedFromWindow
onStop

对于已经创建后,再次 show 的 dialog,回调:

show
onStart
onAttachedToWindow

与创建时相比,少调用了一个 onCreate 方法。

再次 dimiss 时,回调的方法和之前一样:

cancel
dismiss
onDetachedFromWindow
onStop

需要注意的是,Dialog 所在的 Activity onStart、onResume、onPause、onStop 时,Dialog 的生命周期不会被回调。只有当 Dialog 所在的 Activity onDestroy 的时候,Dialog 的 onDetachedFromWindow 方法会被回调。

测试代码:

class MyDialog(context: Context) : AlertDialog(context) {
    
    override fun show() {
        Log.d("~~~", "show")
        super.show()
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        Log.d("~~~", "onCreate")
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

    }

    override fun onStart() {
        Log.d("~~~", "onStart")
        super.onStart()
    }

    override fun onAttachedToWindow() {
        Log.d("~~~", "onAttachedToWindow")
        super.onAttachedToWindow()
    }

    override fun cancel() {
        Log.d("~~~", "cancel")
        super.cancel()
    }

    override fun dismiss() {
        Log.d("~~~", "dismiss")
        super.dismiss()
    }

    override fun onDetachedFromWindow() {
        Log.d("~~~", "onDetachedFromWindow")
        super.onDetachedFromWindow()
    }

    override fun onStop() {
        Log.d("~~~", "onStop")
        super.onStop()
    }

}

相关文章

  • Activity你真的非常了解吗?

    1. 生命周期 1.1 Dialog弹出时 如果是单纯的创建Dialog,Activity并不会执行生命周期的方法...

  • 组件---Dialog

    什么是Dialog: dialog是在当前界面弹出的一个小窗口,用于显示重要提示信息。 生命周期: 生命周期方法:...

  • Android 学习

    Dialog有关的Dialog会影响Activity的生命周期? - 简书 (jianshu.com)[https...

  • Activity 难点之生命周期,你了解过吗?

    一、 生命周期 1.1 Dialog 弹出时 如果是单纯是创建的 dialog ,Activity 并不会执行生命...

  • Android dialog实现监听生命周期

    ViewModel: (上述仅写出了onDestroy,也可以加入其它生命周期事件监听) 自定义Dialog: 判...

  • DialogFragment的坑

    DialogFragment相对于Dialog,它的特点是有自己的生命周期,Android 官方推荐使用 Dial...

  • FragmentDialog

    FragmentDialog继承自v4包的Fragment便于管理Dialog的生命周期原理:1.可以看出内部实现...

  • 2020 Android常见面试题

    Android: 前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回...

  • Dialog充满屏幕

    Dialog宽高设置 dialog style_dialog dialog_animation enter exi...

  • Android中Dialog的“生命周期”

    在android中Dialog是我们常用的控制之一,经常来做一些提示相关的工作 ,Google为了方便开发者,也给...

网友评论

      本文标题:Dialog 生命周期

      本文链接:https://www.haomeiwen.com/subject/qfinfdtx.html