使用Kotlin在onCreateLoader中输入类型不匹配

爱德华多·科罗纳(Eduardo Corona)

我正在将Android应用程序从Java移植到Kotlin。我有一个游标加载程序来填充RecyclerView,Java中的一切都很好,但是当我尝试将Java中的代码“翻译”到Kotlin时,我从android studio得到了消息,您可以在下图中看到。

我在Java中的代码是:

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args){
    return new CursorLoader(getContext(), Contrato.URI_CONTENIDO_BASE, null,null,null,null);
}

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data){

    adaptador.swapCursor(data);

    layoutManager.scrollToPosition(adaptador.getItemCount() -1);

}

@Override
public void onLoaderReset(Loader<Cursor> loader){

}

而Kotlin中的代码是:

override fun onCreateLoader(id: Int, args: Bundle?): Loader<Cursor> {
    return CursorLoader(context,MMDContract.columnas.CONTENT_BASE_URI, null, null, null, null)
}

override fun onLoadFinished(loader: Loader<Cursor>?, data: Cursor?) {
  adapter.swapCursor(data)
}

override fun onLoaderReset(loader: Loader<Cursor>?) {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

}

Kotlin中的onCreateLoader

我没有找到Kotlin的官方文档,只有Java的。https://developer.android.com/guide/components/loaders

关于如何解决这个问题的任何想法?

冰1000

更改

return CursorLoader(context,
  MMDContract.columnas.CONTENT_BASE_URI, null, null, null, null)

进入

return CursorLoader(context,
  MMDContract.columnas.CONTENT_BASE_URI, null, null, null, null) as Loader<Cursor>

应该解决这个问题。

此错误看起来像是一个IDE错误。如果始终可以看到相同的错误消息,则可以在https://youtrack.jetbrains.com/上进行报告

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章