首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GestureDetector不工作

GestureDetector不工作
EN

Stack Overflow用户
提问于 2015-07-03 02:59:18
回答 1查看 387关注 0票数 0

我有以下实现来检测用户的手势,但它不起作用。

代码语言:javascript
复制
public class CSViewController : Java.Lang.Object, GestureDetector.IOnGestureListener
{
   GestureDetector gestureDetector = null;
   View myView;
   public CSViewController (Context context, View myView) 
    {   
        this.context = context;
        this.myView = myView;
        //myView.Touch += async (object sender, View.TouchEventArgs e) => Console.WriteLine("touch");
        gestureDetector = new GestureDetector(myView.Context,this);
   }

   public bool OnScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
   {
     Console.WriteLine("onscroll");
     return false;
   }
}

但是,出于测试目的,我编写了以下代码,并且它可以工作。

代码语言:javascript
复制
myView.Touch += async (object sender, View.TouchEventArgs e) => Console.WriteLine("touch");

在实现GestureDetector时,我哪里做错了?

EN

回答 1

Stack Overflow用户

发布于 2015-07-03 05:15:58

以下是解决方案:

我添加了以下代码,它可以正常工作

代码语言:javascript
复制
myView.Touch += (object sender, View.TouchEventArgs e) => _gestureDetector.OnTouchEvent(e.Event);

以下是解决方案:

代码语言:javascript
复制
public class CSViewController : Java.Lang.Object, GestureDetector.IOnGestureListener
{
   GestureDetector gestureDetector = null;
   View myView;
   public CSViewController (Context context, View myView) 
    {   
        this.context = context;
        this.myView = myView;
        myView.Touch += (object sender, View.TouchEventArgs e) => _gestureDetector.OnTouchEvent(e.Event);
        gestureDetector = new GestureDetector(myView.Context,this);
   }

   public bool OnScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
   {
     Console.WriteLine("onscroll");
     return false;
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31192548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档