Android kotlin:无法读取类文件

Posted

技术标签:

【中文标题】Android kotlin:无法读取类文件【英文标题】:Android kotlin : unable to read class file 【发布时间】:2018-04-10 22:14:31 【问题描述】:

编辑:这比我想象的要简单得多,我只需要清理项目!

我正在尝试在包含 GridView 的片段内定义一个接口,以强制任何将附加该片段的活动实现该接口和 onImageSelected 方法。 一旦我检查了活动是否正确实现了接口,我将它转换为回调对象。

class MasterListFragment : Fragment()

lateinit var mCallBack: OnImageClickListener

interface OnImageClickListener
    fun onImageSelected(position: Int)


override fun onAttach(context: Context?) 
    super.onAttach(context)
    if(context !is OnImageClickListener)
        throw ClassCastException(context.toString() + "must implement OnImageClickListener")
    else
        mCallBack = context


override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? 
    val view = inflater?.inflate(R.layout.fragment_master_list, container, false)
    var adapter = MasterListAdapter(context, androidImageAssets.getAll())
    var mGridView = view?.findViewById(R.id.master_grid_view) as GridView
    mGridView.adapter = adapter
    mGridView.setOnItemClickListener  _, _, position, _ -> mCallBack.onImageSelected(position) 
    return view

在我的活动中,我只是实现接口并覆盖 onImageSelected 函数。

但我遇到了这个错误:

错误:任务 ':app:compileDebugJavaWithJavac' 执行失败。

无法读取类文件:'***\tmp\kotlin-classes\debug\com\example\android\myproject\MasterListFragment$mCallBack$1.class'

我尝试不使用 lateinit var 和一个简单的 var 但没有运气 我不明白的是,即使更改了变量名,它仍然指示 MasterListFragment$mCallBack$1.class

感谢您的帮助!

【问题讨论】:

【参考方案1】:

我通过清理项目解决了这个问题,你可以试试

【讨论】:

以上是关于Android kotlin:无法读取类文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Kotlin 从 android 中的资产中读取 json 文件?

无法从目录中读取文件 - android

从Kotlin构造函数android中的Parcelable读取List列表

Kotlin,Android Studio:我无法让我的程序使用第二个适配器。列表视图

自定义ConstraintLayout类似乎无法横向排列 - Android - Kotlin

Kotlin 无法导入 JSON 文件,即使使用显式路径