首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未触发onFling事件

未触发onFling事件
EN

Stack Overflow用户
提问于 2017-04-26 09:09:09
回答 1查看 89关注 0票数 1

我正在测试向左和向右滑动我的活动。我有以下代码:

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity implements LocationListener, GestureDetector.OnGestureListener {
   ...
   private GestureDetectorCompat gestureDetector;
   ...
   protected void onCreate(Bundle savedInstanceState) {
     ...
     gestureDetector = new GestureDetectorCompat(this, this);
     ...
   }

   public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

        if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
            return false;


        if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            // right to left swipe
            Toast.makeText(getApplicationContext(), "right to left swipe", Toast.LENGTH_LONG);

        } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
            Toast.makeText(getApplicationContext(), "left to right swipe", Toast.LENGTH_LONG);
        }

    Log.i("EVENT:", "Event triggered");
    return true;
  }


  public boolean onTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);

    return super.onTouchEvent(event);
  }

我希望当我向左和向右滑动时会调用onFling方法。但我在onFling中的任何消息都不会被调用。当我查看控制台时,我只看到以下内容:

代码语言:javascript
复制
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP

我可能做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-04-27 01:30:34

当此问题发生在您身上时,很可能是由于布局中的某个元素造成的。我有一个RelativeLayout的子元素,它匹配父元素的高度和宽度:

代码语言:javascript
复制
<ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true" android:id="@+id/listView" android:layout_alignParentTop="true"/>

当我删除它时,onFling事件被调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43623352

复制
相关文章

相似问题

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