小编and*_*289的帖子

无法重写 androidx.fragment.app.Dialog 的 onCreateDialog 方法

当我尝试覆盖 的onCreateDialog方法时androidx.fragment.app.DialogFragment,出现以下错误:“onCreateDialog 不覆盖任何内容”。

根据developer.android.com,我应该能够覆盖它,因为它被定义为开放。

我正在使用以下代码

import android.app.AlertDialog
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import androidx.fragment.app.DialogFragment


class MyDialogFragment : DialogFragment() {

    override fun onCreateDialog(savedInstanceState: Bundle): Dialog {
        return activity?.let {
            val builder = AlertDialog.Builder(it)
            builder.setMessage("Yes or no?")
                .setPositiveButton("yes",
                    DialogInterface.OnClickListener { dialog, id ->
                        // yes
                    })
                .setNegativeButton("no",
                    DialogInterface.OnClickListener { dialog, id ->
                        // no
                    })
            builder.create()
        } ?: throw IllegalStateException("Activity cannot be null")
    }
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

android kotlin android-studio

6
推荐指数
1
解决办法
602
查看次数

标签 统计

android ×1

android-studio ×1

kotlin ×1