ViewPager 嵌套在 ViewPager 中

2023-11-21

我真的是 Android 新手,我将不胜感激对我的课程工作的任何帮助。

我需要去做:

1)一个Activity中两个ViewPager(不嵌套)

2)两个ViewPager(一个ViewPager嵌套在另一个ViewPager中)

我发现了类似的问题,但我无法使用它。ViewPager 内的 ViewPager

我先添加 ViewPager,但不知道下一步该做什么

LayoutInflater inflater = LayoutInflater.from(this); //this - context of my activity
List<View> pages = new ArrayList<View>();
View page = inflater.inflate(R.layout.activity_main, null);
//next I adding some buttons on page
pages.add(page);

page = inflater.inflate(R.layout.activity_main2, null);  //my second page
//some buttons
pages.add(page);

page = inflater.inflate(R.layout.activity_main3, null);  //my third page
//some buttons
pages.add(page);

SamplePagerAdapter pagerAdapter = new SamplePagerAdapter(pages);
ViewPager viewPager = new ViewPager(this);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(0);          
setContentView(viewPager);

如果我添加 ViewPager2 并说 setContentView(viewPager2),我就会丢失 viewPager1。我花了很多时间来解决这两个问题,请帮忙...

//这是我需要做的草图。 抱歉,我无法附上我的片段...


我添加了一个OnTouchListener到内部ViewPager:

private OnTouchListener mSuppressInterceptListener = new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(
                event.getAction() == MotionEvent.ACTION_DOWN &&
                v instanceof ViewGroup
        ) {
                ((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
        }
        return false;
    }
};

这只是检测内部的 ACTION_DOWN 触摸事件ViewPager并防止外部拦截它。因为它返回 false,所以只应命中 ACTION_DOWN 事件;所有其他事件都将被忽略。您可以将此侦听器添加到您想要“保护”免受外部影响的每个元素ViewPager的滚动,但显然如果您想在这些元素上拾取任何其他触摸行为,您需要在触摸侦听器内处理它们,并可能实现更好的侦听器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ViewPager 嵌套在 ViewPager 中 的相关文章

  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 我可以在过程中传递游标吗?

    我可以在过程中传递游标吗 CURSOR BLT CURSOR IS SELECT BLT sol id BLT bill id BLT bank id FROM BLT 是我的光标 Procedure abc i want to pass
  • 括号组合的时间复杂度

    我尝试做经典问题来实现一种算法来打印 n 对括号的所有有效组合 我找到了这个程序 效果很好 public static void addParen ArrayList
  • 您可以在网页上将图片相互叠加吗?

    我想建立一个 装扮 游戏网站 您可以单击不同的配件 它们将彼此叠加 因为描述起来有点困难 我找到了这些例子 希望能够突出我正在尝试做的事情 这是我找到的最接近的网站 但我似乎找不到计算图像应如何彼此重叠的代码 类似于这个 iOS 公主游戏
  • 在 Maven 中测试 Clojure

    我是 Maven 的新手 甚至是 Clojure 的新手 作为学习语言的练习 我正在编写一个蜘蛛纸牌播放器程序 我还计划在 Scala 中编写一个类似的程序来比较实现 请参阅我的帖子https stackoverflow com quest
  • ggplot - 按函数输出分面

    我不确定如何通过数据中的函数进行分面data的元素ggplot目的 在下面的玩具示例中 我想做的是这样的 df lt data frame x 1 8 y runif 8 z 8 1 ggplot df aes x x y y geom p
  • 使用 SQL Server XML 数据类型

    我有一个包含 XML 字段的表 它包含的典型 XML 是
  • 如何将 Nuget 包 dll 添加到 Wix 安装程序

    如何将 Nuget 包 dll 添加到 Wix 安装程序 我尝试添加
  • Android:从电话号码中检索联系人姓名

    我想检索与来电号码关联的联系人姓名 当我处理广播接收器中的传入号码时 具有带有来电呼叫者姓名的字符串将极大地帮助我的项目 我认为这涉及使用 sql WHERE 子句作为过滤器的查询 但我需要对联系人进行排序吗 一个例子或提示会有很大的帮助
  • 如何在android中的其他视图上添加覆盖视图?

    我想将按钮放在图像视图上方 我怎样才能做到这一点 请不要提供设置背景 因为我需要 ImageView 设置为背景 开玩笑 你需要的是把你的观点放在一个RelativeLayout 类似的东西会起作用
  • Python Excel 模板读取和重写,维护公式和格式

    我已经查遍了所有内容 但似乎找不到我要找的东西 我在这里找到的所有线索对我来说最终都陷入了死胡同 xlrd xlwt 和 xlutils 几乎可以满足我的需要 但是 基本思想是我需要使用 Python 将简单数据 字符串 写入 Excel
  • 如何在 QML 中集成 QWidget(Qt Quick 2.0)

    我已经关闭了返回 QFrame 的库 我的程序的GUI是用QML Qt Quick 2 0 开发的 我需要将 QFrame QWidget 集成到 QML 的解决方案 笔记 我找到了示例 Qt DIR Examples Qt 5 3 dec
  • Java StringTokenizer,空空标记

    我正在尝试将一个字符串拆分为 29 个标记 stringtokenizer 不会返回空标记 我尝试过 string split 但我相信我做错了什么 String strings line split 29 示例输入 10150 15 58
  • 如何将 MSpec 与 MS Build 集成?

    前几天我看了一个BDD 截屏视频 by 罗布 康纳利 在视频中他展示了如何使用MSpec 所以我下载了它并玩了一下 我现在想要的是整合MSpec使用 MS Build 但我不知道如何 我使用 TFS team build 作为我的 CI 服
  • 正则表达式撇号如何匹配?

    我想添加到此规则匹配撇号 rule re compile r lt gt 我努力了 rule re compile r lt gt 但它认为撇号是行错误 为什么 错误的出现是因为你不能直接使用单个 inside 以及同样单身的 不能在里面使
  • 具有需要存在另一个参数的可选参数

    很简单 我如何初始化params我的 Powershell 脚本的一部分 这样我就可以有一个命令行参数 例如 Get Foo foo1
  • Oracle:创建具有自动增量 id 列的视图

    我创建了一个view填充来自不同表的数据 我用了10 select statements并使用组合这些选择语句的结果UNION ALL 我想添加primary key column以我看来 因为我必须创造XML使用此中的数据的文件view
  • 如何在 C# 中对位图图像应用模糊效果? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何在不使用库的情况下在 C 中对图像应用模糊效果 更新的代码 现在更快 需要使用 UNSAFE 关键字 static void Main string args Bitmap
  • 使用单独数据帧中的值重命名列

    我有一个 tibble 其中的列名包含空格和特殊字符 这使得使用起来很麻烦 我想在处理数据时将这些列名称更改为更易于使用的名称 然后在最后将它们更改回原始名称以进行显示 理想情况下 我希望能够将其作为管道的一部分来完成 但是我还没有弄清楚如
  • 如何选择具有当天时间戳的行?

    我试图从数据库表中仅选择今天的记录 目前我使用 SELECT FROM table WHERE timestamp gt DATE SUB now INTERVAL 1 DAY 但这需要过去 24 小时的结果 我需要它只选择今天的结果 忽略
  • ViewPager 嵌套在 ViewPager 中

    我真的是 Android 新手 我将不胜感激对我的课程工作的任何帮助 我需要去做 1 一个Activity中两个ViewPager 不嵌套 2 两个ViewPager 一个ViewPager嵌套在另一个ViewPager中 我发现了类似的问