小编Ich*_*cta的帖子

与片段管理器无关的片段。(对话片段)

我有一个对话框片段,我为延迟初始化创建了一个类。当我显示对话框时,它显示正常。但是,当我关闭对话框时,它崩溃的原因是:片段与片段管理器无关。

我也尝试过 postDelayed dimiss,但仍然崩溃。

加载对话框.kt

class LoadingDialog(private val fm: FragmentManager) : DialogFragment() {

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        isCancelable = false
        return inflater.inflate(R.layout.dialog_loading, container, false)
    }

    fun showDialog(tag: String? = null) {
        show(fm, tag)
    }

    fun closeDialog() {
        dismiss()
    }
}
Run Code Online (Sandbox Code Playgroud)

LazyDialog.kt

class LazyDialog<T : DialogFragment>(private val type: Class<T>, private val fm: FragmentManager) :
    Lazy<T> {
    private var dialog: T? = null

    override val value: T
        get() {
            return when {
                type.isAssignableFrom(LoadingDialog::class.java) -> …
Run Code Online (Sandbox Code Playgroud)

android lazy-initialization android-fragments android-dialogfragment kotlin

9
推荐指数
1
解决办法
3661
查看次数