У меня есть вид, который содержит некоторые виджеты, и после того, как пользователь нажимает «сохранить», эта информация отправляется на 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,
...
)
}
}