MonoDroid: Fehler beim Aufrufen des Konstruktors der benutzerdefinierten Ansicht - TwoDScrollView
Ich erstelle eine Android-Anwendung, die das hier abgebildete TwoDScrollView verwendet:
http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/
Dieselbe Klasse kann auf mehreren anderen Websites referenziert werden, und andere auf Stack Overflow haben diesbezüglich Fragen gestellt. Ich habe es in einer früheren Android-Anwendung verwendet, die ich mit Java / Eclipse erstellt habe, und hatte Erfolg.
Mit meiner aktuellen Anwendung wollte ich C # und MonoDroid verwenden. Ich habe beschlossen, die gesamte TwoDScrollView-Klasse in C # umzuschreiben. Nachdem ich es umgeschrieben und dann in einem Layout-XML verwendet habe, erhalte ich die folgenden Ausnahmen, wenn ich versuche, meinen Code auszuführen:
System.NotSupportedException wurde ausgelöst. Instanz vom Typ MyProject.TwoDScrollView kann vom nativen Handle 44f4d310 nicht aktiviert werden.
System.Exception: Kein Konstruktor für MyProject.TwoDScrollView ::. Ctor (System.IntPtr, Android.Runtime.JniHandleOwnership) gefunden ...... mit weiterem Text, der folgt ....
Mein Layout XML sieht wie folgt aus:
<?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>
Befolgen Sie die Anweisungen unter dem folgenden Link zur Verwendung benutzerdefinierter Ansichten in Layout-XML in MonoDroid:http://docs.xamarin.com/android/advanced_topics/using_custom_views_in_a_layout
Die Konstruktoren der TwoDScrollView-Klasse sehen folgendermaßen aus:
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();
}
In der C # -Version gibt es die gleichen Konstruktoren wie in der Java-Version (diese finden Sie unter dem obigen Link). Irgendeine Idee, was schief gehen könnte? Ich kann den vollständigen C # -Code meines TwoDScrollView posten, wenn jemand dies sehen möchte. Es ist im Wesentlichen das Gleiche wie der Java-Code Bit für Bit - außer, dass er in C # umgeschrieben wurde.
Danke für jede Hilfe!