android.support.v7中的DialogPreference导致无覆盖错误

android.support.v7中的DialogPreference导致无覆盖错误,android,kotlin,Android,Kotlin,代码A运行得很好,但是当我用import android.support.v7.preference.DialogPreference替换import android.preference.DialogPreference时,我遇到了错误 为什么? 错误 onCreateDialogView() override nothing onDialogClosed() override nothing showDialog() override nothing 代码A import android.

代码A运行得很好,但是当我用import android.support.v7.preference.DialogPreference替换import android.preference.DialogPreference时,我遇到了错误

为什么?

错误

onCreateDialogView() override nothing
onDialogClosed() override nothing
showDialog() override nothing
代码A

import android.preference.DialogPreference
import android.app.AlertDialog
import android.content.Context
import android.os.Bundle
import android.util.AttributeSet
import android.view.View
import info.dodata.mirror.R
import android.widget.EditText
import org.jetbrains.anko.*
import utility.PreferenceTool

class DialogChangePassword(context: Context, attrs: AttributeSet) : DialogPreference(context, attrs) {

    private lateinit var mView: View
    private lateinit var mContext: Context

    init {
        dialogLayoutResource = R.layout.item_custom_password_dialog
    }

    override fun onCreateDialogView(): View {
        mView = super.onCreateDialogView()
        mContext=mView.context
        return mView
    }

    override fun onDialogClosed(positiveResult: Boolean) {
        super.onDialogClosed(positiveResult)
    }

    override fun showDialog(state: Bundle?) {
        super.showDialog(state)

        val d = dialog as AlertDialog
        d.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {           
               d.dismiss()           
        }
    }


}
请参阅文档

onCreateDialogView() override nothing
onDialogClosed() override nothing
showDialog() override nothing
这些方法在
android.preference.DialogPreference
(#)中受保护/打开,但没有像
android.support.v7.preference.DialogPreference
(#)中那样的方法


这些类不同,它们没有相同的公共接口。这就是为什么。

这取决于你要做什么,但你必须使用适当的课堂。有一个原因,为什么这些类是不一样的。我在这里找到了一些例子: