如何用Kodein注入瞬态依赖工厂?

时间:2017-10-26 18:22:31

标签: android kotlin kodein

我想使用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
}

有什么想法吗?

0 个答案:

没有答案