Target MvvmCross, AndroidВыбор фрагмента Просмотр в зависимости от выбранного элемента типа ViewModel
Цель: Экран (ViewModel/View), где пользователь может выбрать группу животных (земноводные, птицы, рыбы, беспозвоночные, млекопитающие, рептилии). Когда группа будет выбрана, фрагменты будут отображать информацию для этой группы животных. Поля и макет отличаются друг от друга на группу животных (например, у рыб нет крыльев). Хотя для этого вопроса я выбрал для группы животных (что довольно статично), нужно, чтобы группы групп списка были гибкими.
Упрощенная структура приложения:
- MyApp.Core
- ViewModels
- MainViewModel
- IAnimalGroupViewModel
- AmphibiansViewModel
- BirdsBViewModel
- FishViewModel
- MyApp.Droid
- Layout
- MainView
- AmphibiansFragment
- BirdsFragment
- FishFragment
- Просмотров
- MainView
- AmphibiansFragment
- BirdsFragment
- FishFragment
- Layout
Файл макета MainView.axml будет содержать (заполнитель для) фрагмент отображаемой группы животных.
В WPF или WP8 приложении я мог бы использовать ContentPresenter и стиль для автоматического отображения выбранного ViewModel с его представлением.
Как я мог достичь чего-то подобного в Droid?
Я мог бы использовать коммутатор/корпус в MainView.cs, который устанавливает Фрагмент в соответствии с типом выбранной группы ViewGroup. Но это означает, что я должен модифицировать MainView каждый раз, когда добавляю новый вид.
Любые предложения/идеи?
Один раз ответили ... но в моем уме есть альтернативный подход, основанный на использовании только XML ... не совсем поняли, что это такое ... – Stuart