Компоненты архитектуры и дополнительные возможности - PullRequest
0 голосов
/ 30 сентября 2018

Согласно официальным правилам архитектуры, все еще законно передавать данные в форме intent extras от одного activity к другому (либо вперед с startActivity(ForResult), либо обратно с setResult)?

Кроме того, можно ли заполнить views полученными данными (например, editText.setText(intent.getStringExtra...) и использовать автоматическое восстановление, которое система Android обрабатывает при изменении конфигурации?

Следует ли выполнить какую-либо из этих обязанностей?на ViewModel и как?

1 Ответ

0 голосов
/ 05 октября 2018

Да, это должно.Подумайте об использовании MutableLiveData ваших данных.

private final MutableLiveData<Integer> selectedChannelPos = new MutableLiveData<>();

Управляйте им в ViewModel.

private void setSelectedChannelPos(int value) {
    selectedChannelPos.setValue(value);
}

И подпишитесь на него в действии.Как это:

mainViewModel.getSelectedChannelPos().observe(this, pos -> { //pos is position of RecyclerView          
        currentChannelName.setText(mainViewModel.getChannelName(pos));
    });
...