簡體   English   中英

如何在xamarin中設置onclick監聽器?

[英]How to set onclick listener in xamarin?

我對C#和Xamarin很陌生,並且一直在嘗試實現底部元素並且不知道如何正確地執行它。 我正在使用Cocosw.BottomSheet-Xamarin.Android庫。

這是我的代碼:

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
};

請參閱我的其他答案以獲取更多信息

最簡單的方法是使用每個View上可用的Click事件。 但是,為了實現IOnClickListener (或任何其他也是IJavaObject接口),您需要使實現它的類繼承自Java.Lang.Object

internal class BottomSheetActions : Java.Lang.Object, IDialogInterfaceOnClickListener 
{
    public void OnClick (IDialogInterface dialog, int which)
    {
        Console.WriteLine ("Hello fox");
    }
}

這樣您就不需要實現IntPtr Handle ,您的代碼也可以正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM