C# 如何在xamarin中设置onclick侦听器?
我对C#和Xamarin是个新手,一直在尝试实现一个底层表单元素,但不知道如何正确地实现它。我正在使用图书馆 这是我的密码:C# 如何在xamarin中设置onclick侦听器?,c#,android,xamarin,xamarin.android,C#,Android,Xamarin,Xamarin.android,我对C#和Xamarin是个新手,一直在尝试实现一个底层表单元素,但不知道如何正确地实现它。我正在使用图书馆 这是我的密码: Cocosw.BottomSheetActions.BottomSheet.Builder b = new Cocosw.BottomSheetActions.BottomSheet.Builder (this); b.Title ("New"); b.Sheet (Resource.Layout.menu_bottom_sheet) 现在我想我应该使用b.Listen
Cocosw.BottomSheetActions.BottomSheet.Builder b = new Cocosw.BottomSheetActions.BottomSheet.Builder (this);
b.Title ("New");
b.Sheet (Resource.Layout.menu_bottom_sheet)
现在我想我应该使用b.Listener(…)
,但它需要一个接口IDialogInterfaceOnClickListener
作为参数,我不知道如何正确地在C中实现它
我会用Java写
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
我试着这样做:
class BottomSheetActions : IDialogInterfaceOnClickListener {
public void OnClick (IDialogInterface dialog, int which) {
Console.WriteLine ("Hello fox");
}
public IntPtr Handle { get; }
public void Dispose() {
}
}
然后这个:
b.Listener (new BottomSheetActions());
但它不起作用。改用单击事件
button.Click += delegate
{
//Your code
};
查看my other以了解更多信息最简单的方法实际上是使用每个视图上都可用的
单击事件。但是,为了实现IOnClickListener
(或也是IJavaObject
的任何其他接口),您需要使实现它的类继承自:
这样,您就不需要实现IntPtr Handle
,您的代码就可以正常工作了我正在使用第三方库,它需要IDialogInterfaceOnClickListener
,因此我不能使用单击事件,但我可以尝试从Java.Lang.Object
继承,谢谢。这与setOnClickListener函数的工作原理不同。使用代码中显示的事件会导致某些问题,例如事件重叠setOnClickListener是一个更稳定的选项。
internal class BottomSheetActions : Java.Lang.Object, IDialogInterfaceOnClickListener
{
public void OnClick (IDialogInterface dialog, int which)
{
Console.WriteLine ("Hello fox");
}
}