C# Android侦听器与Monodroid事件处理程序

C# Android侦听器与Monodroid事件处理程序,c#,mono,xamarin.android,C#,Mono,Xamarin.android,Monodroid/Xamarin.Android独占事件处理程序(即AdapterView.ItemClick)是为了方便Android监听器(AdapterView.setOnItemClickListener())而设计的,这样它们就可以彼此任意交换,还是提供了某种变通方法 在这两种情况下,我都无法确定EventHandler中的对象参数是什么(即,sender),并且在任何地方都找不到关于它的文档 AndApertView.ItemClick的EventHandler定义为: publi

Monodroid/Xamarin.Android独占事件处理程序(即AdapterView.ItemClick)是为了方便Android监听器(AdapterView.setOnItemClickListener())而设计的,这样它们就可以彼此任意交换,还是提供了某种变通方法

在这两种情况下,我都无法确定EventHandler中的对象参数是什么(即,sender),并且在任何地方都找不到关于它的文档

AndApertView.ItemClick的EventHandler定义为:

public void ItemClickEventHandler(object sender, ListView.ItemClickEventArgs args)
{
   // what is sender ?
}
Android特定的侦听器如下所示:

public void onItemClick(AdapterView parent, View view, int position, long id)
{        
   // sender == parent ??
   // sender == view ??
}
因此,我想假设发送方等同于父方视图

在所有Monodroid独占事件处理程序中分配给哪个发送方有约定吗?

我也非常感谢为这方面提供一些文档,因为我在这里找不到它:我对Reflector的试用期也用完了(否则我会亲自查看)


谢谢。

发件人是所单击视图的包含父视图(因此,在本例中,它将是一个AdapterView

来自相关Android侦听器的参数打包在args

谢谢各位

public class ItemClickEventArgs : EventArgs
{
    private AdapterView parent;
    private View view;
    private int position;
    private long id;

    public AdapterView Parent { get { return this.parent; } }
    public View View { get { return this.view; } }
    public int Position { get { return this.position; } }
    public long Id { get { return this.id; } }

    public ItemClickEventArgs(AdapterView parent, View view, int position, long id)
    {
        this.parent = parent;
        this.view = view;
        this.position = position;
        this.id = id;
    }
}