C# Android:如何捕获OnClick XML属性中定义的按钮事件?
我在RelativeLayout中有这个按钮,它是自定义ListView行布局的一部分C# Android:如何捕获OnClick XML属性中定义的按钮事件?,c#,android,xml,xamarin,C#,Android,Xml,Xamarin,我在RelativeLayout中有这个按钮,它是自定义ListView行布局的一部分 当用户单击该按钮时,我希望该按钮调用此函数: public void myClickHandler(视图v) { Console.WriteLine((v作为按钮).Text); } 然而,我得到了这个错误 java.lang.IllegalStateException: Could not find a method myClickHandler(View) in the activity cla
当用户单击该按钮时,我希望该按钮调用此函数:
public void myClickHandler(视图v)
{
Console.WriteLine((v作为按钮).Text);
}
然而,我得到了这个错误
java.lang.IllegalStateException: Could not find a method myClickHandler(View) in the activity class Test_Project.MyActivity for onClick handler on view class android.widget.Button with id 'editButton'
我正在尝试区分列表视图中的不同按钮。此外,每行有多个按钮
编辑:
不要在按钮中使用标记,这可能会导致ListView滚动期间性能下降。下面的解决方案是一个更好的选择。将属性
[Java.Interop.Export]
添加到单击处理程序方法中:
[Java.Interop.Export("myClickHandler")] // The value found in android:onClick attribute.
public void myClickHandler(View v) // Does not need to match value in above attribute.
{
Console.WriteLine ((v as Button).Text);
}
这将通过for活动向Java公开该方法,以便可以从Java运行时调用它
见:
[Java.Interop.Export]
需要将Mono.Android.Export
程序集添加到项目中
因此,此功能仅适用于独立和更高级别的许可证。我认为现在所有开发人员都可以使用此功能。回答得很好!我已经在互联网上找了好几个小时了。