Android kotlin:无法读取类文件

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

我试图在一个包含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变种和简单的变种没有运气我不明白,即使改变variables名后,它仍然表明MasterListFragment $ mCallBack $ 1.class

谢谢你的帮助 !

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