2013-08-06 3 views
0

Я работаю над проектом, в котором я могу использовать MapFragment или SupportMapFragment в качестве настраиваемого элемента управления. Я пытался смешивать пользовательский контроль (N-18) и Fraggle (N-26), но я не могу заставить его работать.Android MapFragment как пользовательский контроль в MvvmCross

Мой пользовательский элемент управления Класс:

public class CustomMapView : MvxFragment 
{ 
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     var ignored = base.OnCreateView(inflater, container, savedInstanceState); 
     return this.BindingInflate(Resource.Layout.CustomMapViewLayout, null); 
    } 
} 

Мои CustomMapViewLayout.axml

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment" /> 

В FirstView.axml я ссылаться на CustomMapView:

<cc.CustomMapView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

(я использую ViewNamespaceAbbreviations в Setup.cs)

При попытке развернуть я получаю эти ошибки:

MvxBind: Ошибка Вид Тип не найден - cc.CustomMapView (я уверен, что пространство имен правильно) Android.Views.InflateException: Загрузка ...

Есть ли кто-нибудь, кому удалось решить эту проблему?

ответ

0

Насколько я знаю, фрагменты должны использоваться внутри родителей FragmentActivity и должны быть загружены либо с использованием тега fragment xml, либо с использованием одного из методов поддержки диспетчера фрагментов (поддержки) для динамической загрузки в родительской группе представлений.

Код MVX который сообщает View Type Not Found - cc.CustomMapView определенно не будет работать - он ищет класс, который наследует Android View в этом пространстве имен, не ищет Fragment.

Возможно, существуют способы написать больше «динамического» фрагмента кода xml, но ни один из участников mvvmcross не обнаружил ни одного из них. На данный момент, я думаю, вам придется использовать фрагменты более «условно» - как показано на рисунке N=26 sample

Смежные вопросы