android - 对象不是抽象的,不实现抽象成员?
问题描述
我已实施CustomAlertDialogBuilder
,但收到以下警告:
对象不是抽象的,也没有实现抽象成员
下面是我的代码:
override fun onEditClick(item: Question) {
CustomAlertDialogBuilder(context).setCancelable(true)
CustomAlertDialogBuilder(context).addMessage(R.string.chat_message).setPositiveButton(R.string.chat,
object : CustomAlertDialogBuilder.OnItemDialogClickListener {
override fun onClick(dialog: CustomAlertDialogBuilder.CustomDialogInterface) {
val intent = Intent(context, ChatActivity::class.java)
startActivity(intent)
}
}).setNegativeButton("OK", null).build()?.show()
}
下面是错误的截图:
下面的CustomDialogBuilder.OnItemDialogClickListener
界面:
interface OnItemDialogClickListener {
fun onClick(dialog: CustomDialogInterface)
fun onClick(arg0: CustomAlertDialogBuilder, arg1: Int)
}
解决方案
您应该添加arg1:Int
为重写onClick
函数的第二个参数,并将第一个参数的类型设为CustomAlertDialogBuilder
,例如:
override fun onEditClick(item: Question) {
CustomAlertDialogBuilder(context).setCancelable(true)
CustomAlertDialogBuilder(context).addMessage(R.string.chat_message).setPositiveButton(R.string.chat,
object : CustomAlertDialogBuilder.OnItemDialogClickListener {
override fun onClick(dialog: CustomAlertDialogBuilder, arg1: Int) {
val intent = Intent(context, ChatActivity::class.java)
startActivity(intent)
}
override fun onClick(dialog: CustomDialogInterface) {
// ...
}
}).setNegativeButton("OK", null).build()?.show()
}
还要检查是否CustomAlertDialogBuilder.OnItemDialogClickListener
实现了其他方法。
推荐阅读
- javascript - 单击交叉按钮时不会删除列表项的 Javascript 待办事项列表
- rails-i18n - I18n 中针对活动记录验证错误的字符串插值
- java - Zuul CORS 过滤器不起作用
- javascript - SyntaxError: missing : after property id (JQuery)
- c# - 我无法访问基类的属性?
- python-3.x - 如何根据熊猫中的条件过滤时间戳
- python - django-admin startproject 不会创建 manage.py
- android-studio - android studio 创建活动并使用它而不显示它
- swift - 这是如何在 swift 4 中实现的?
- javascript - ReactJs 上下文 - 如何用传入的状态替换当前组件状态