2016-09-14 2 views
1

MvvmCross 4.x에서 제목/헤더로 Views 사용자 정의로 Android TabLayout을 만들었습니다. 사용자 정의 Views은 텍스트와 숫자 (배지로 표시)에 바인딩됩니다.바인딩이 TabLayout 사용자 정의 제목보기를 업데이트하지 않습니다

모두 정상적으로 작동합니다. 그러나 배지 번호를 업데이트 (증가)하면 탭 헤더보기가 따르지 않습니다. 헤더에 대한 사용자 지정 바인딩을 만들어야하지만 여기서 뭔가 잘못했다고 생각합니다.

나는 FragmentViewModel의가 생성되는 탭 뒤에 다음 코드를 사용합니다

var bindingContext = new MvxAndroidBindingContext(Context, (IMvxLayoutInflaterHolder)Context, 
    FragmentStatePagerAdapter.TryGetTabViewModel(tabIndex)); 
var view = bindingContext.BindingInflate(tabTitleResourceId, null); 

var tab = TabLayout.GetTabAt(tabIndex); 
tab.SetCustomView(view); 

는 다음보기 (탭 헤더)를 한 번 갱신하지 얻을,하지만 더 이상.

조회수가 업데이트되지 않는 이유는 무엇입니까?

(지원 라이브러리의 MvxFragment)을 MvxCachingFragmentStatePagerAdapter과 결합하여 사용합니다.

답변

1

솔루션에 MvxAndroidBindingContext를 어딘가에 유지하고있었습니다.

다음과 같은 훌륭한 코드는 작동하지 않아야합니다.

var bindingContext = new MvxAndroidBindingContext(Context(IMvxLayoutInflaterHolder)Context, 
FragmentStatePagerAdapter.TryGetTabViewModel(tabIndex)); 
tabCachedBindingsList.Add(bindingContext); 
var view = bindingContext.BindingInflate(tabTitleResourceId, null); 

var tab = TabLayout.GetTabAt(tabIndex); 
tab.SetCustomView(view); 
관련 문제