使用dot42触发事件

时间:2013-02-21 21:15:50

标签: c# android mobile dot42

我尝试使用dot42的第一步。

我定义了一个这样的按钮:

  <Button android:id="@+string/button_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Senden"
        android:onClick="sendMessage"/>

我想我现在可以在MainActivity类中定义一个方法,如下所示:

 [Activity]
public class MainActivity : Activity
{
    protected override void OnCreate(Bundle savedInstance)
    {
        base.OnCreate(savedInstance);
        SetContentView(R.Layouts.MainLayout);
    }

    public void sendMessage(View view)
    {

    }
}

但不幸的是,点击该按钮后我得到了一个例外..

您可以找到有关dot42 here

的信息

1 个答案:

答案 0 :(得分:4)

我通过dot42支持得到了答案:

您可以通过将[EventHandler]属性(来自Dot42.EventHandlerAttribute)添加到sendMessage方法来解决此问题,如下所示:

[EventHandler]
public void sendMessage(View view)
{
    Toast.MakeText(this, "Button pressed", Toast.LENGTH_LONG).Show();
}

这可确保不重命名sendMessage方法并将其包含在APK中。 默认情况下,dot42会尝试删除尽可能多的代码,因为未引用sendMessage(从代码中),它将删除它。添加该属性可以防止这种情况。