android.support.v7中的DialogPreference导致无覆盖错误
代码A运行得很好,但是当我用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.
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
(#)中那样的方法
这些类不同,它们没有相同的公共接口。这就是为什么。这取决于你要做什么,但你必须使用适当的课堂。有一个原因,为什么这些类是不一样的。我在这里找到了一些例子: