MonoDroid: Błąd podczas wywoływania konstruktora widoku niestandardowego - TwoDScrollView

Buduję aplikację na Androida, która korzysta z niestandardowego TwoDScrollView znalezionego tutaj:

http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/

Tę samą klasę można znaleźć w kilku innych witrynach, a inne w Stack Overflow zadawały pytania dotyczące jej. Używałem go w poprzedniej aplikacji na Androida, którą budowałem przy użyciu Java / Eclipse, i miałem sukces.

W mojej obecnej aplikacji chciałem użyć C # i MonoDroid. Postanowiłem przepisać całą klasę TwoDScrollView w C #. Po przepisaniu go, a następnie użyciu go w jakimś układzie XML, otrzymuję następujące wyjątki podczas próby uruchomienia mojego kodu:

Zgłoszono wyjątek System.NotSupportedException. Nie można aktywować instancji typu MyProject.TwoDScrollView z rodzimego uchwytu 44f4d310.

System.Exception: Nie znaleziono konstruktora dla MyProject.TwoDScrollView ::. Ctor (System.IntPtr, Android.Runtime.JniHandleOwnership) ...... z następującym tekstem ....

Mój układ XML jest następujący:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<myproject.TwoDScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

</myproject.TwoDScrollView>

</RelativeLayout>

Zgodnie z instrukcjami pod poniższym linkiem na temat używania niestandardowych widoków w układzie XML w MonoDroid:http://docs.xamarin.com/android/advanced_topics/using_custom_views_in_a_layout

Konstruktory klasy TwoDScrollView wyglądają następująco:

public TwoDScrollView(Context context) 
    : base(context)
{
    initTwoDScrollView();
}

public TwoDScrollView(Context context, IAttributeSet attrs) 
    : base(context, attrs)
{
    initTwoDScrollView();
}

public TwoDScrollView(Context context, IAttributeSet attrs, int defStyle) 
    : base(context, attrs, defStyle)
{
    initTwoDScrollView();
}

Te same konstruktory istnieją w wersji C #, jak w wersji Java (którą można znaleźć pod powyższym linkiem). Jakiś pomysł na to, co może pójść źle? Mogę opublikować pełny kod C # mojego TwoDScrollView, jeśli ktoś chciałby go zobaczyć. Jest zasadniczo taki sam jak bit kodu Java dla bitu - z wyjątkiem przepisania w C #.

Dzięki za pomoc!

questionAnswers(4)

yourAnswerToTheQuestion