MonoDroid: Erro ao chamar construtor de visão personalizada - TwoDScrollView
Eu estou construindo um aplicativo Android que usa o TwoDScrollView personalizado encontrado aqui:
http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/
Essa mesma classe pode ser encontrada em vários outros sites, e outros no Stack Overflow fizeram perguntas relacionadas a ela. Eu estava usando em um aplicativo Android anterior que eu estava construindo usando Java / Eclipse, e eu estava tendo sucesso.
Com o meu aplicativo atual, eu queria usar o C # e o MonoDroid. Eu decidi reescrever toda a classe TwoDScrollView em C #. Depois de reescrevê-lo e usá-lo em algum XML de layout, obtenho as seguintes exceções ao tentar executar meu código:
System.NotSupportedException foi lançado. Não é possível ativar a instância do tipo MyProject.TwoDScrollView do identificador nativo 44f4d310.
System.Exception: Nenhum construtor encontrado para MyProject.TwoDScrollView ::. Ctor (System.IntPtr, Android.Runtime.JniHandleOwnership) ...... com mais texto que segue ....
Meu layout XML é o seguinte:
<?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>
De acordo com as instruções no link a seguir sobre o uso de exibições personalizadas no layout XML no MonoDroid:http://docs.xamarin.com/android/advanced_topics/using_custom_views_in_a_layout
Os construtores da classe TwoDScrollView são os seguintes:
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();
}
Os mesmos construtores existem na versão C # como na versão Java (que você pode encontrar no link acima). Alguma ideia do que poderia estar errado? Eu posso postar o código C # completo do meu TwoDScrollView se alguém quiser vê-lo. É essencialmente o mesmo que o bit de código Java para bit - exceto reescrito em C #.
Obrigado por qualquer ajuda!