ИЯ
В каких случаях писать зависимости на di?
Size: a a a
ИЯ
SV
SV
ИЯ
ИЯ
SV
SV
SV
SV
ИЯ
ИЯ
SV
SV
ИЯ
SV
ИЯ
ИЯ
M
fun createUserComponent(user: UserModule): UserComponent@Module
class UserModule(val id: Int) {
@Provides
fun provideUserViewModel(): UserViewModel{
return UserViewModel(id)
}
}class UserViewModel (val id: Int): ViewModel() {
class UserFactory @Inject constructor(): ViewModelProvider.NewInstanceFactory() {
var id: Int? = null
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return App.component.createUserComponent(UserModule(id!!)).getUserVM() as T
}
}
}@Inject
lateinit var userFactory: UserViewModel.UserFactory
userFactory.id = arguments!!.getInt("id")
viewModel = ViewModelProviders.of(this, userFactory).get(UserViewModel::class.java)АЕ
fun createUserComponent(user: UserModule): UserComponent@Module
class UserModule(val id: Int) {
@Provides
fun provideUserViewModel(): UserViewModel{
return UserViewModel(id)
}
}class UserViewModel (val id: Int): ViewModel() {
class UserFactory @Inject constructor(): ViewModelProvider.NewInstanceFactory() {
var id: Int? = null
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return App.component.createUserComponent(UserModule(id!!)).getUserVM() as T
}
}
}@Inject
lateinit var userFactory: UserViewModel.UserFactory
userFactory.id = arguments!!.getInt("id")
viewModel = ViewModelProviders.of(this, userFactory).get(UserViewModel::class.java)M