我想重写OnInterceptTouchEvent方法。我使用的ListView和想要实现它的姿态detecor但我[应用荷点击子视图听众等一扔方法返回null。我想通了,这种方法可以解决我的问题,但我无法在我的活动覆盖。
@Override
public boolean onInterceptTouchEvent(MotionEvent motionEvent) {
return true;
}
如果存在任何其他的方法来解决这个问题,请让我知道。
酶活性不是视图类,所以没有OnInterceptTouchEvent
方法,OnInterceptTouchEvent
其是截取的触摸事件的类的ViewGroup的函数。
所以,你可以自定义的ListView,然后重写OnInterceptTouchEvent
方法,如下所示:
class MyListView : ListView
{
public MyListView(Context context) : base(context)
{
}
public MyListView(Context context, IAttributeSet attrs) : base(context, attrs)
{
}
public MyListView(Context context, IAttributeSet attrs, int defStyleAttr, int defStyleRes) : base(context, attrs, defStyleAttr, defStyleRes)
{
}
public override bool OnInterceptTouchEvent(MotionEvent e)
{
return base.OnInterceptTouchEvent(e);
}
}
您正在试图重写它时,你应该使用C#相当于Java的方式。
另外,拦截触摸事件是一个ViewGroup层次结构的一部分,并在您的活动,因此无法使用。
一个ViewGroup中基本上是持有一串窗口小部件在一起,就像一个浏览持有者类。
尝试粘贴下面您的自定义的ListView,然后使用该ListView的为您实现一个姿态探测器
public override bool OnInterceptTouchEvent(MotionEvent ev)
{
return base.OnInterceptTouchEvent(ev);
}