Несоответствие типов в onCreateLoader с помощью Kotlin - PullRequest
0 голосов
/ 02 мая 2018

Я портирую Android-приложение с Java на Kotlin. У меня есть загрузчик курсора для заполнения RecyclerView, в Java все хорошо, но когда я пытаюсь «перевести» код из Java в Kotlin, я получил сообщение от студии Android, которое вы можете увидеть на изображении ниже.

Мой код в 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){

}

А код в Котлине:

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.

}

onCreateLoader in Kotlin

Я не нашел официальную документацию на Kotlin, только на Java. https://developer.android.com/guide/components/loaders

Есть идеи, как мне это решить?

1 Ответ

0 голосов
/ 02 мая 2018

Изменение

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/.

...