android - ViewPager 上未触发 OnLongClickListener

标签 android android-layout android-fragments

我要疯了,但不明白我犯了什么错误,请帮忙。

我的布局 xml 中有一个 ViewPager,我有一个用于此寻呼机的 FragmentStatePagerAdapter。基本上是在这个 ViewPager 上加载不同的 fragment 。

但是 fragment 的数量将由用户的特定操作决定,并且以 ViewPager 开始不会加载任何 fragment ,我的意思是 FragmentStatePagerAdapter 计数将为 0。

现在我希望用户长按 ViewPager 来触发一些 Action 。但是当我将 OnLongClickListener 添加到 viewpager onLongClick 方法时永远不会触发 :(

这是我的代码,

pageView.setOnLongClickListener(new View.OnLongClickListener() {
      @Override
      public boolean onLongClick(View v) {
            Log.d("sandeep","YES");
            return false;
      }
});

这里有什么错误??请帮忙。提前致谢。

最佳答案

OnClickListenerOnLongClickListener 不适用于 ViewPager 本身,因为它捕获触摸事件以便能够在页面之间滚动。

您应该设置一个onTouchListener,捕获ACTION_UP Action 事件。并且不要忘记在寻呼机有项目时移除监听器。

关于android - ViewPager 上未触发 OnLongClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36355626/

相关文章:

android - 在 android studio 中创建项目时出现这个错误是什么我无法理解

java - 将类保存到文件中?

java - Firebase 在 Release模式下找不到要序列化的对象的属性

android - Activity 上的简单确定按钮

android - 无法解析方法 createSpeechRecognizer()

android - 如何在 FragmentStatePagerAdapter 的 fragment 中动态设置 TextView 的文本

java - 如何共享shareBody中的所有列表项?

java - 在循环中访问按钮 id 是一个好习惯吗?

android - 我可以将控件组合在一起吗?

java - 如何修复 "No adapter attached; skipping layout"