我在尝试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

最佳答案

我收到了Dot42支持部门对此的答复:
可以通过向sendMessage方法添加[EventHandler]属性(来自dot42.EventHandlerAttribute)来解决此问题,方法如下:

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

这样可以确保sendmage方法不会被重命名并包含在apk中。
默认情况下,dot42将尝试删除尽可能多的代码,因为sendmessage没有被引用(从代码中),所以它将删除它。添加属性可防止出现这种情况。

关于c# - 用dot42触发事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15012377/

10-12 03:16