Модель вида деятельности воссоздается при вращении - PullRequest
0 голосов
/ 30 мая 2018

Когда я вращаю телефонный конструктор моих вызовов MainViewModel все время!

MainActivity:

@Override
    public MainViewModel onCreateViewModel() {
        return ViewModelProviders.of(this, viewModelFactory).get(MainViewModel.class);
    }

BaseActivity:

 @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    performInjection();
    performDataBinding();
}

private void performDataBinding() {
    viewDataBinding = DataBindingUtil.setContentView(this, setLayoutId());
    this.viewModel = viewModel == null ? onCreateViewModel() : viewModel;
    viewDataBinding.setVariable(setBindingVariable(), viewModel);
    viewDataBinding.executePendingBindings();
}

Конструктор MainViewModel:

@Inject
MainViewModel(ErrorHandler errorHandler, Router router, TradeInfoInteractor getTradeInfoUseCase) {
    super(errorHandler);
    Log.d(TAG, "constructor");
    this.router = router;
    this.getTradeInfoUseCase = getTradeInfoUseCase;

    init();
}

Вход в систему для отдыха:

05-30 20: 48: 45.046 21513-21513 / merseyside.com.cripto D / MainViewModel: конструктор
05-30 20:48: 49.566 21513-21513 / merseyside.com.cripto D / MainViewModel: конструктор

Что с этим не так?В документации сказано:

"// Создание ViewModel в первый раз, когда система вызывает метод onCreate () действия.

// Повторно созданные действия получают тот же экземпляр MyViewModel, созданныйпервое занятие. "

...