Skip to content

Instantly share code, notes, and snippets.

@LouisCAD
Last active November 10, 2016 09:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LouisCAD/c1b484bcc7ffe8427c9c370e225da5c9 to your computer and use it in GitHub Desktop.
Save LouisCAD/c1b484bcc7ffe8427c9c370e225da5c9 to your computer and use it in GitHub Desktop.
A simple LoaderCallbacks implementation for kotlin and it's lambdas
import android.os.Bundle
import android.support.v4.app.LoaderManager
import android.support.v4.content.Loader
class LoadListener<D, out L : Loader<D>>(private val createLoader: () -> L,
private val onLoadDone: (loader: L, data: D) -> Unit)
: LoaderManager.LoaderCallbacks<D> {
override fun onCreateLoader(id: Int, args: Bundle?) = createLoader()
@Suppress("UNCHECKED_CAST")
override fun onLoadFinished(loader: Loader<D>?, data: D) = onLoadDone(loader as L, data)
override fun onLoaderReset(loader: Loader<D>?) = Unit
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment