kodein – введенное значение данных не является значением данных

В моем классе CallType я поместил вложенные данные connectivityState.callBackState в значение true, которое инициализируется как false в моем классе ConnectivitySte . Но в моем классе IncomingCallBroadcastReceiver мои данные callBackState не true а false .

 class CallType { val kodein = Kodein { bind<ConnectivityState>() with provider { ConnectivityState() } } private val connectivityState: ConnectivityState = kodein.instance() fun call(number: String) { //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\\ connectivityState.callBackState = true } class IncomingCallBroadcastReceiver : KodeinBroadcastReceiver() { private val connectivityState: ConnectivityState by instance() override fun onBroadcastReceived(context: Context, intent: Intent) { //!!!!!!!!!!!!!! IT'S FALSE HERE WHEREAS I PUT IT TO TRUE IN CALLTYPE CALSS if (connectivityState.callBackState) { } } class ConnectivityState { var iaxState = false } 

Спасибо за ваш ответ

Проблема здесь:

 bind<ConnectivityState>() with provider { ConnectivityState() } 

Вы привязываетесь к области provider , что означает, что новый экземпляр будет возвращен каждый раз, когда вы запрашиваете экземпляр .

Если вы хотите, чтобы один и тот же экземпляр возвращался каждый раз, вам нужно привязать к singleton :

 bind<ConnectivityState>() with singleton { ConnectivityState() }