Android MVVM - Как передать данные в модель представления с большой формой в представлении? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть вид, который содержит некоторые виджеты, и после того, как пользователь нажимает «сохранить», эта информация отправляется на SomeViewModel. Проблема заключается в том, что когда я собираю информацию из представления, это приводит к методу 10+ аргументов в SomeViewModel.

С другой стороны, я могу создать SomeDataClass внутри представления и передать его SomeViewModel, который я считаю не очень хорошим, потому что мнение не должно знать об этом. Есть ли другие альтернативы?

class SomeViewModel : ViewModel() {

    fun newItem(text1: String, text2: String, item1: Int, item2: Int, ...) {
        ...
    }

    fun newItem(someDataClass: SomeDataClass) {
        ...
    }

}

class SomeActivity : AppCompatActivity() {

    private fun newItem() {
        someViewModel.newItem(
            edittext1.text.toString(),
            edittext2.text.toString(),
            spinner1.selectedItemId,
            spinner2.selectedItemId,
            ...
        )
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...