开发者社区> 问答> 正文

Android Studio onTouchListener在Viewpager上不起作用

我的ontouchlistener无法正常工作。我尝试将其放在viewpager上,以基本上计算用户所做的所有触摸。

在我的onCreate方法中:


   mViewPager.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch(event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        Log.d("TOUCH ON TAB", "TOUCH DETECTED");

                        if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) {
                            touchCounter++;
                        }

                        if(touchCounter >= 5) {
                            // you have done 5 touches
                            ShowCounter();
                            touchCounter = 0;
                        }
                        break;
                }
                return true;
            }
        });

但是Log.d("TOUCH ON TAB", "TOUCH DETECTED");在控制台中找不到。另外我的柜台不工作。

Viewpager看起来像这样:

   <android.support.v4.view.ViewPager
                    android:id="@+id/container"
                    android:clickable="true"
                    android:focusable="true"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_above="@+id/adView"
                    android:layout_marginBottom="2dp">
                </android.support.v4.view.ViewPager>

展开
收起
Puppet 2020-01-18 10:52:40 769 0
1 条回答
写回答
取消 提交回答
  • 您的问题很可能不在上OnTouchListener,当我尝试记录消息时在log标记中使用空格时遇到了问题;它们不会给您错误或警告,如果您没有在logcat中过滤出结果并查看整个调试消息,实际上您会在其中找到它们。但由于某些原因,无法使用logcat过滤对其进行正确过滤。

    因此,尝试更改以下日志

    Log.d("TOUCH ON TAB", "TOUCH DETECTED"); 放入没有空格或特殊字符的内容

    Log.d("TOUCH_ON_TAB", "TOUCH DETECTED"); 希望这可以帮助

    2020-01-18 10:52:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载