2014-06-11 1 views
0

MvxTabsFragmentActivity은 탭이 선택되었거나 전혀 표시되지 않아 조각보기 모델에서 Init() 메서드를 호출하지 않는 것으로 보입니다. 이것은 MvxTabsFragmentActivity의 출처를 살펴봄으로써 확인되었습니다.MvxTabsFragmentActivity를 사용한 조각보기 모델의 초기화 처리

보기 모델이 구현하려고하는 초기화/시작 모델을 깨뜨리기 때문에 (탭으로 사용되는 것을 모르는 상태로 유지하는 경우) 약간 성가시다.

태그 조각과 함께 사용되는보기 모델에 대한 초기화 (및 다른 수명주기 단계)를 처리 할 때 권장되는 패턴은 무엇입니까? -

답변

1

사전 구축 된 뷰 모델에 MvxTabsFragmentActivity 작품은 뷰 모델은 같은 API를 사용하여 전달됩니다

protected void AddTab<TFragment>(string tagAndSpecName, string tabName, Bundle args, 
            IMvxViewModel viewModel) 

뷰 모델의 작성 책임은 발신자는 - 호출자가 다음을 만들 new를 사용하는 경우 Init()Start()은 호출되지 않습니다. 호출자가 IMvxViewModelLoader.Load()을 사용하면 Init()Start()이 호출됩니다.

+0

IMvxViewModelLoader 포인터에 감사드립니다. 사용자가 탭을 선택할 때까지 데이터로드 (예 : 네트워크에서로드)를 지연하려는 시나리오는 어떻게 지원합니까? –