我需要使用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。也许存在其他方式。
答案 0 :(得分:9)
在Xamarin.Android中,许多Listener
接口已转换为events
以获取更多C#类型的代码。
因此,在所有View
上都有一个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 */ };