Skip to content

Instantly share code, notes, and snippets.

@rakshakhegde
Last active January 19, 2023 09:26
Show Gist options
  • Save rakshakhegde/eea58a24994ac8ce27842febcc1f2ab0 to your computer and use it in GitHub Desktop.
Save rakshakhegde/eea58a24994ac8ce27842febcc1f2ab0 to your computer and use it in GitHub Desktop.
Handy Idiom: Pass Arguments to Android Fragment using Kotlin + Anko
import android.support.v4.app.Fragment
import org.jetbrains.anko.bundleOf
/**
* Pass arguments to a Fragment without the hassle of
* creating a static newInstance() method for every Fragment.
*
* Declared outside any class to have full access in any
* part of your package.
*
* Usage: instanceOf<MyFragment>("foo" to true, "bar" to 0)
*
* @return Returns an instance of Fragment as the specified generic type with the params applied as arguments
*/
inline fun <reified T : Fragment> instanceOf(vararg params: Pair<String, Any>)
= T::class.java.newInstance().apply {
arguments = bundleOf(*params)
}
@jlberrocal
Copy link

definitively a good to have function

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment