androidx.hilt.navigation.fragment
Extension functions summary
inline Lazy<VM> |
@MainThread Returns a property delegate to access a HiltViewModel -annotated |
inline Lazy<VM> |
@MainThread Returns a property delegate to access a HiltViewModel -annotated |
Extension functions
hiltNavGraphViewModels
@MainThread
inline fun <VM : ViewModel> Fragment.hiltNavGraphViewModels(navGraphId: @IdRes Int): Lazy<VM>
Returns a property delegate to access a HiltViewModel -annotated ViewModel
scoped to a navigation graph present on the NavController back stack:
class MyFragment : Fragment() {
val viewmodel: MainViewModel by hiltNavGraphViewModels(R.navigation.main)
}
This property can be accessed only after this NavGraph is on the NavController back stack, and an attempt access prior to that will result in an IllegalArgumentException.
hiltNavGraphViewModels
@MainThread
inline fun <VM : ViewModel, VMF : Any> Fragment.hiltNavGraphViewModels(
navGraphId: @IdRes Int,
noinline creationCallback: (VMF) -> VM
): Lazy<VM>
Returns a property delegate to access a HiltViewModel -annotated ViewModel
with an @AssistedInject-annotated constructor that is scoped to a navigation graph present on the NavController back stack:
class MyFragment : Fragment() {
val viewmodel: MainViewModel by hiltNavGraphViewModels(R.navigation.main) { factory: MainViewModelFactory ->
factory.create(...)
}
}
This property can be accessed only after this NavGraph is on the NavController back stack, and an attempt access prior to that will result in an IllegalArgumentException.