Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未找到Mono Droid onClick事件_C#_Android_Mono_Xamarin.android - Fatal编程技术网

C# 未找到Mono Droid onClick事件

C# 未找到Mono Droid onClick事件,c#,android,mono,xamarin.android,C#,Android,Mono,Xamarin.android,我的布局如下: <Button android:id="@+id/MyButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/Hello" android:clickable="true" android:onClick="Foo" /> 当我在emulator中调试时,当我在日志中单击MyB

我的布局如下:

<Button android:id="@+id/MyButton"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/Hello"
    android:clickable="true"
    android:onClick="Foo"
/>
当我在emulator中调试时,当我在日志中单击MyButton并摘录以下内容时,应用程序崩溃:

E/AndroidRuntime(  507): FATAL EXCEPTION: main
E/AndroidRuntime(  507): java.lang.IllegalStateException: Could not find a method    Foo(View) in the activity class helloworld.Activity1 for onClick handler on view class android.widget.Button with id 'MyButton'
E/AndroidRuntime(  507):    at android.view.View$1.onClick(View.java:2059)
E/AndroidRuntime(  507):    at android.view.View.performClick(View.java:2408)
E/AndroidRuntime(  507):    at android.view.View$PerformClick.run(View.java:8816)
E/AndroidRuntime(  507):    at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(  507):    at android.os.Handler.dispatchMessage(Handler.java:92)
MonoDroid不支持以这种方式注册事件

您需要自己在活动的OnCreate中连接事件

更新:
作为更新,MonoDroid现在确实支持这一点:

除了在
onClick
方法上的
[Export(“javamethodname”)]
属性和对
Mono.Android.Export
的引用之外,您还需要

using Java.Interop;

那么android:onClick属性的意义是什么呢?我明白了。谢谢有没有关于MonoDroid不支持的文档?投票支持这个回答。但愿我在花时间做这件事之前在别处看到过这些信息。作为一个更新,MonoDroid现在确实支持这个:Nevermind,我想出来了:只需在onClick方法上方抛出一个[Export]属性,并确保在项目中添加对Mono.Android.Export的引用。
using Java.Interop;