[android] MVVM – 10. startActivity in ViewModel

[android] MVVM – 10. startActivity in ViewModel

어떤 버튼을 클릭했을 때 다른 화면으로 이동해야하는 경우가 있다. 처음에는 activity에서 강제로 listener를 걸어줬는데, 아무래도 이건 아니다 싶어서 찾아보니 activity와 뷰모델을 연결하는 interface를 하나 두는 거였더라.

 

액티비티에서 호출해줘야하는 메소드들을 적어놓는다.

 

 

뷰모델에서는 내비게이터의 메소드를 호출한다.

 

 

레이아웃에서는 평소처럼 뷰모델의 메소드를 호출한다.

 

 

실제 호출은 activity에서 하면 된다. 이러면 뷰모델은 정말로 뷰와 관련된 작업만 처리할 수 있다.