我想使用ViewModelProvider Factory从intent(即:Club)注入自定义的parcelable数据。
val teamModule = Kodein.Module {
bind<ViewModelProvider.Factory>("team-factory") with factory { club: Club -> TeamListViewModelFactory(club, instance()) }
bind<GetTeams>() with provider { GetTeams(instance()) }
bind<TeamRepository>() with provider { TeamDataRepository(instance()) }
bind<TeamListViewModel>() with factory { context: FragmentActivity -> ViewModelProviders.of(context, instance("team-factory")).get(TeamListViewModel::class.java) }
}
在我的活动中,我想获得一个viewModel,其中包含内置intent的数据。在这里我的活动:
class TeamActivity : AppCompatActivity(), KodeinInjected {
override val injector = KodeinInjector()
private val viewModel: TeamListViewModel by injector.with(this).instance() // and intent.getParcelable<Club>(CLUB) but no idea how
}
有什么想法吗?