Я запутался, как лучше структурировать навигацию при использовании MVVM с привязкой данных.
Это два моих предложения, которое лучше всего.
Навигация из фрагмента использование onClickListener
private fun setupUIListeners() {
btnToBrowse.setOnClickListener { it
navigateToSecondFragment(it)
}
}
private fun navigateToSecondFragment(it: View) {
val action = FirstFragmentDirections.actionToSecondFragment()
Navigation.findNavController(it).navigate(action)
}
Навигация с использованием привязки данных из ViewModel, которую я пока не выяснил, почему она еще не работает. Я действительно думаю, что это должно быть связано с тем, что (view) не эквивалентно (it: View) в моем первом методе, хотя я не уверен,
class FirstViewModel : ViewModel() {
fun navigateToSecondFragment(view: View) {
val action = FirstFragmentDirections.actionToSecondFragment()
Navigation.findNavController(view).navigate(action)
}
}
и Frag_First. xml
<Button
...
android:onClick="@{(view) -> viewmodel.navigateToSecondFragment(view)}"
...
Однако какой из этих методов лучше?