4

동적 항목 템플릿 선택 나는 다음과 같은 MvxListView 정의와 뷰가있는 경우 :MvvmCross : MvxListView

<Mvx.MvxListView 
    android:layout_marginTop="10px" 
    android:textFilterEnabled="true" 
    android:choiceMode="singleChoice" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:textSize="20dp" 
    local:MvxBind="ItemsSource Data; ItemClick LaunchCapabilityViewCmd" 
    local:MvxItemTemplate="@layout/itemtemplate1" /> 

대신 MvxItemTemplate이 itemtemplate1하기 위해 하드 코딩, 동적으로 데이터의 유형에 따라이 설정이 가능하여 이보기에 표시하고 싶습니까? WPF의 DateTemplateSelector 비슷한 기능을 찾고 있는데요.

TIA.

답변

5

이렇게하려면 사용자 지정 어댑터를 사용해야합니다.

몇 가지 샘플은 세포 유형 선택을 사용하는 방법을 보여줍니다. 참조 :

예에서 세션리스트 뷰

그룹화 목록 - 더 나은 convertView 재사용 GetItemViewType의 사용을 포함하는 - https://github.com/slodge/MvvmCross/issues/333

이 질문에 링크를 참조 안드로이드에 대한

 protected override View GetBindableView(View convertView, object source, int templateId) 
     { 
      if (source is Kitten) 
       templateId = Resource.Layout.ListItem_Kitten; 
      else if (source is Dog) 
       templateId = Resource.Layout.ListItem_Dog; 

      return base.GetBindableView(convertView, source, templateId); 
     } 

PolymorphicListItemTypesView.cs에서, 기존의 다형성 어댑터 샘플에 추가되어야 최적화도 있습니다

+0

Stuart에게 감사드립니다. –

+0

샘플을 검사했고 최적화가 포함되어 있습니다. 그래서 문제를 해결할 수 있습니다 :) – Softlion