【问题标题】:Android kotlin : unable to read class fileAndroid kotlin:无法读取类文件
【发布时间】: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

感谢您的帮助!

【问题讨论】:

    标签: android file class kotlin


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-16
      • 2018-03-14
      • 1970-01-01
      • 2016-02-22
      • 2016-06-01
      • 2018-01-18
      • 2012-01-20
      • 1970-01-01
      相关资源
      最近更新 更多