You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发:MainAdapter实例化类型不匹配错误求助

解决MainAdapter实例化时的类型不匹配问题

你的错误根源是CategoryQuran Activity未实现MainAdapter.onSelectData接口,而适配器构造方法要求传入该接口的实例。按照以下步骤修复:

  • 让CategoryQuran实现onSelectData接口
    修改Activity的类声明,添加接口实现:
class CategoryQuran : AppCompatActivity(), MainAdapter.onSelectData {
    // 原有的Activity代码
}
  • 重写接口中的所有抽象方法
    找到MainAdapter里onSelectData接口定义的方法,在CategoryQuran中逐一实现。比如假设接口包含onItemSelected方法:
override fun onItemSelected(item: ModelMain) {
    // 在这里编写列表项点击后的逻辑,比如跳转详情页、展示弹窗等
}

如果接口有多个抽象方法,需要全部重写。

  • 重新初始化MainAdapter
    此时this(即CategoryQuran实例)已符合MainAdapter.onSelectData类型要求,初始化代码可正常运行:
private fun showListArticle(){ 
    mainAdapter = MainAdapter(this@CategoryQuran, modelMain, this ) 
    // 其他适配器相关代码
}

备选方案:使用匿名内部类
若不想让Activity实现接口,也可在初始化适配器时传入匿名内部类:

private fun showListArticle(){ 
    mainAdapter = MainAdapter(this@CategoryQuran, modelMain, object : MainAdapter.onSelectData {
        override fun onItemSelected(item: ModelMain) {
            // 处理点击逻辑
        }
        // 重写其他接口方法(如果存在)
    }) 
}

内容的提问来源于stack exchange,提问作者Jiilan .T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:30:42