4

我需要使用 SetOnTouchListener:

LinearLayout cardLinearLayout = FindViewById<LinearLayout> (Resource.Layout.CardList);
cardLinearLayout.SetOnTouchListener (this);//Can't use THIS, must be argument  with IOnTouchListener type. Where can I get this argument?

在此处输入图像描述

我想将它用于 ViewFlipper。也许存在其他方式。

4

1 回答 1

10

在 Xamarin.Android 中,许多Listener接口已转换events为更多 C# 类型的代码。

所以在所有Views 上都有一个Touch事件对应于OnTouchListener.

但是,如果您真的非常想要,您可以IOnTouchListener像这样实现接口:

public class MyOnTouchListener : Java.Lang.Object, View.IOnTouchListener
{
    public bool OnTouch(View v, MotionEvent e)
    {
        /* do stuff */
    }
}

然后LinearLayout像这样使用它:

cardLinearLayout.SetOnTouchListener (new MyOnTouchListener());

您可以将其与Touch仅需要一行代码的事件进行比较:

cardLinearLayout.Touch += (s, e) => { /* do stuff */ };
于 2013-09-23T17:22:29.490 回答