gpt4 book ai didi

android - 无法覆盖 androidx.fragment.app.Dialog 的 onCreateDialog 方法

转载 作者:行者123 更新时间:2023-12-04 23:55:58 24 4
gpt4 key购买 nike

当我尝试覆盖 androidx.fragment.app.DialogFragmentonCreateDialog 方法时,出现以下错误:“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")
}
}

这是怎么回事?

最佳答案

如果仔细查看方法签名,您会发现该参数标有@Nullable,其类型为Bundle?

onCreateDialog(@Nullable savedInstanceState: Bundle?)

但在您的情况下,您已将参数类型定义为不可为 null 的 Bundle,这使得您的函数签名与您尝试覆盖的函数签名不同,因此出现错误

关于android - 无法覆盖 androidx.fragment.app.Dialog 的 onCreateDialog 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68379971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com