首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安卓: ViewPager2在创建时设置起始页不起作用

安卓中的ViewPager2是一个支持水平滑动的视图容器,用于展示多个页面。在创建ViewPager2时设置起始页的方法是通过调用setCurrentItem()方法来实现的。

但是需要注意的是,ViewPager2的setCurrentItem()方法在ViewPager2的创建过程中可能会失效。这是因为ViewPager2的创建是一个异步过程,setCurrentItem()方法可能会在ViewPager2还未完全创建完成时被调用,导致设置起始页无效。

为了解决这个问题,可以使用post()方法将setCurrentItem()方法的调用延迟到ViewPager2完全创建完成后再执行。具体代码如下:

代码语言:txt
复制
ViewPager2 viewPager2 = findViewById(R.id.viewPager2);
viewPager2.post(new Runnable() {
    @Override
    public void run() {
        viewPager2.setCurrentItem(0); // 设置起始页为第一页
    }
});

这样就可以确保在ViewPager2完全创建完成后再设置起始页,从而使设置起始页生效。

ViewPager2的优势在于它提供了更强大的功能和更好的性能,相比于旧版的ViewPager,ViewPager2支持垂直滑动、RTL(从右到左)布局和无限循环等特性。它还提供了更灵活的适配器接口,可以轻松地与RecyclerView适配器进行集成。

ViewPager2的应用场景非常广泛,可以用于创建图片轮播、引导页、新闻资讯、商品展示等各种需要滑动切换页面的场景。

腾讯云提供了丰富的云计算产品和服务,其中与安卓开发相关的产品包括云服务器、云数据库MySQL、云存储COS等。您可以通过以下链接了解更多关于腾讯云相关产品的信息:

  • 云服务器:提供高性能、可扩展的云服务器实例,适用于各种应用场景。
  • 云数据库MySQL:提供稳定可靠的云数据库服务,支持高可用、备份恢复等功能。
  • 云存储COS:提供安全可靠的对象存储服务,适用于存储和管理各种类型的数据。

希望以上信息对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ViewPager2:官方Viewpager升级版来临

这两天浏览开发者官网的时候,发现google悄然推出了一个新的控件:ViewPager2,一看名称就知道这是一个和我们常用的ViewPager功能相似的控件,算是ViewPager的升级版吧。...为了让RecyclerView变得像原来的ViewPager,需要设置下SnapHelper: new PagerSnapHelper().attachToRecyclerView(mRecyclerView...); 熟悉RecyclerView的同学都知道,SnapHelper用于辅助RecyclerView滚动结束将Item对齐到某个位置。...PagerSnapHelper的作用让滑动结束使当前Item居中显示,并且 限制一次只能滑动一页,不能快速滑动,这样就和viewpager的交互很像了。...layout_width="match_parent" android:layout_height="200dp" android:orientation="vertical" /> 代码中设置一个普通的

1.7K10
  • 强制恢复出厂recovery无命令_recovery模式下无法恢复出厂设置

    意思是说,不能加载正常的系统,可能数据损坏,如果你继续收到此消息,请执行恢复出厂设置擦除所有的用户数据 我们查看下recovery的log: cat /tmp/recovery.log [...在出现以下情况,救援程序会收到有关启动和崩溃事件的信息,然后即会启动: system_server 5 分钟内重启 5 次以上。 永久性系统应用在 30 秒内崩溃 5 次以上。...当检测到上述某种情况,救援程序会将其上报给下一救援级别、处理与该级别相关联的任务,并让设备继续运行,看看能否恢复。清除或重置内容的程度随级别而增加。最高级别会提示用户将设备恢复出厂设置。...验证 当设备具有有效的 USB 数据连接,系统会停止所有救援事件,因为这是一个较强的信号,表示有人正在调试设备。...原来这个是android加的自动判断系统状态,实现的救援程序,触发进入recovery,强制执行恢复出厂设置

    4.9K40

    「docker实战篇」python的docker-创建appium容器以及设置appium容器连接模拟器(31)

    上一节已经下载好了appium的镜像,接下来说下如何创建appium如何创建容器和模拟器如何连接appium容器。...源码:https://github.com/limingios/dockerpython.git (源码/「docker实战篇」python的docker-创建appium容器以及设置appium容器连接模拟器...容器启动后,启动模拟器 启动模拟器后,通过cmd输入 adb devices ?...使用docker的appium连接模拟器 1.设置成桥接 ? ? 重启模拟器,可能无法获取ip,点击下开关,然后自动获取下就可以了。 ? 2.查看模拟器的ip地址 ?...PS:通过docker appium的方式运行远程的虚拟机,真机也是一样啊,先通过adb devices,找到后,然后改成tcpip的形式,让docker appium连接 设备,代码设置里面区别,基本就是这样

    2.6K20

    ViewPager2打造Banner轮播图

    效果图 上图是天津地铁APP的Banner也是本文要实现的效果 一、如何使用ViewPager2app下的build.gradle文件中添加如下依赖 implementation "androidx.viewpager2...:viewpager2:1.0.0" ②同步之后就可以布局中使用啦 <androidx.viewpager2.widget.ViewPager2 android:id="@+id/bannerVp...的适配器和RecyclerView的使用一样,这里就不贴代码了 ⑤最后我们给<em>ViewPager2</em><em>设置</em>上adapter即可 二、轮播图左右无线滑动 数据源的第一位add最后一张图 val newList...bannerVp.removeCallbacks(counter) } } 触摸暂停滚动 我们知道触摸调用setOnTouchListener即可,但是给<em>ViewPager2</em>使用的时候你会发现<em>不起作用</em>...<em>ViewPager2</em>是一个视图组,未调用setOnTouchListener是因为recyclerview拦截事件并首先调用onTouchEvent bannerVp.getChildAt(0)给它<em>设置</em>监听即可

    2.2K50

    Chrome加入主页按钮

    文章更新:   20160917 初次成文   20180225 失效说明 2018.02.25 更新: 此教程已不适用于新版 Chrome~ 问题提出:   许多用惯国产浏览器(比如QQ,...UC浏览器)的用户尝试转向Chrome的时候,会在使用过程中发现一个比较蛋疼的问题:"Chrome没有主页(起始页)按钮"。...原因在于,手机厂商系统中内置了"ChromeCustomizations"这个应用,安装Chrome后Chrome可以识别出这个应用,从而可以Chrome的地址栏左边看到一个"主页"按钮。   ...于是我们进行如下设置:   Chrome - 设置 - 主页 - 打开此网页   输入框中填入:   chrome://newtab   保存即可。 ?   ...homepage.html,如果我想把它作为主页,那么我需要在"打开此网页"的输入框中填入:   file:///storage/0000-4823/HTML/homepage.html   那么当你按下主页键

    2.9K20

    “互联网菜鸟驿站”——AirPortal

    如果你传送设备和接收设备都有登录自己的账号,更是不需要下载码就可以直接下载。...,可设置仅限本人接收,默认24小从云端删除; 网址简单易记(AirPortal.cn); .........另外,AirPortal 现已支持 Windows、macOS、Linux、和 iOS等多端口客户端,其客户端与同 Wi-Fi 下的设备之间无需网络即可传文件和共享剪贴板、大文件下载更稳定、下载可断点续传...客户端还可以第三方应用中还可以一键调用空投快传来分享文件。 3高级账户 普通用户最大上传 5 GB 的文件,就我日常的使用来说,普通用户就够用。...除此之外,大家能看到热铁盒还有许多其他产品,如青柠起始页,这是一个非常好用,自定义程度高的主页。我使用 Utools 和 Hapigo 之前长期使用,也推荐给大家,感兴趣可以自行探索。

    39220

    FFmpeg开发笔记(四十七)寒冬下程序员的几个技术转型发展方向

    有鉴于此,博主整理了几个可供程序员的技术转型发展方向,供大家参考。1、继续深耕Android的应用开发谷歌爸爸是的爹,要想继续吃这口饭,就要抱紧谷歌爸爸的大腿。...爸爸推出了Jetpack套件意图一统常用组件库,咱们马上引入Jetpack的诸多工具包,学他个天昏地暗。...总之,咱们唯谷歌爸爸马首是瞻,只要爸爸搞出什么新东西,咱们赴汤蹈火在所不辞,务必要第一间尝鲜。嗯,学习APP的Kotlin编程推荐这本书《Kotlin从零到精通Android开发》。...正好APP开发传统使用Java编程,程序员转向Java后端无需学习新语言。...可是这些年Java也不断迭代,光光大版本就有Java8、Java11、Java17三个,这几个大版本的众多新特性足够让程序员喝几壶了的。

    12910

    React Native之ListView实现九宫格效果

    概述 原生开发中,ListView是很常用的一个列表控件,那么React Native(RN)如何实现该功能呢?...onEndReached:简单说就是用于分页操作,中原生开发中,我们需要自己实现相应的方法。 onEndReachedThreshold:调用onEndReached之前的临界值,单位是像素。...(该属性是继承与ScrollView) renderHeader:渲染头部View,类似于ListView中的addHeader....以上的属性基本可以解决一些常见的列表需求,如果我们想要实现网格的效果,也可以借助该组件来实现,有点类似于中的RecyclerView控件。...ListView的contentContainerStyle属性,添加flexDirection:‘row’ 其次,ListView同一行显示,而且通过flexWrap:’wrap’设置自动换行。

    2.7K50

    软件开发:Java和Kotlin实现首页壁纸的手势切换功能

    一、项目背景 本文详细介绍如何在车机应用的首页实现通过左右手势切换壁纸的功能。 1.1 项目需求分析 本项目是通过左右滑动手势切换首页壁纸,为车机应用用户提供灵活、便捷的壁纸定制体验。...使用 Bitmap 创建一个指定颜色的纯色图像,通过 Canvas 绘制设置为设备的壁纸。 异常处理部分确保设置壁纸失败抛出明确的错误信息,用于调试和问题定位。...边界处理:壁纸数组到达边界的回环处理逻辑需要确保不会出现数组越界错误。...基本流程 创建 GestureDetector 实例: MainActivity 中,创建一个 GestureDetector 实例,自定义的 GestureListener 传入。...五、为啥不能使用ViewPager2实现,和GestureDetector 有什么区别和优势?

    433151

    Android开发笔记(一百七十二)第二代翻页视图ViewPager2

    notifyItem***方法,从而动态刷新某项视图; 3、除了当前页,也支持展示左右两页的部分区域; 4、支持翻页过程中展示自定义的切换动画; 虽然ViewPager2增加了这么棒的功能,但它用起来非常简单...setPageTransformer:设置二代翻页视图的页面转换器,以便展示切换动画。 接下来利用循环适配器搭配二代翻页视图,演示看看ViewPager2的界面效果。...注意RecyclerView与ViewPager2拥有各自的AndroidX库,故需修改模块的build.gradle,dependencies节点内部补充以下两行依赖配置:     implementation...撤销刚加的边缘特效代码,再给测试页面的Java代码中补充下面几行:     // ViewPager2支持翻页展示切换动画     // 创建页面转换器,用于计算切换动画的各项参数     ViewPager2...    // 把标签布局跟翻页视图通过指定策略连为一体,二者页面切换一起联动     new TabLayoutMediator(tab_title, vp2_content, new TabLayoutMediator.TabConfigurationStrategy

    2.2K30

    潍坊学院校园网助手

    先推出windows以及版本。...BUG 修复 2021年12月25日17:45修复了导致等待网络连接,监听方法不起作用的问题。修复了时间显示00分0秒的BUG。修复了在有线模式下少概率的认证失败问题。...----------校园网助手(1.1版本)BUG修复 2021年10月4日 11:59推出校园网助手端后,发现1.0版本存在许多的BUG,例如:问题:每次点击监听,都会创建一个子线程这样会导致误点多次使得子线程数量增加...现在点击监听或者时间查询后,如果有正在执行监听或者时间查询的子线程后,将不会采取任何操作问题:点击监听或者是时间查询后,创建的子线程无法关闭主程序后自动退出,从而导致子线程残留的问题现在关闭软件或者是点击下线都将会已有的子线程全部结束...之后的版本将会把此选项放入设置中。

    1.5K21

    Android Q Beta 6 终极测试版发布!

    平台更新 已删除用于禁用后台活动启动的开发人员选项 Android 平台已知问题 设置 某些情况下,“设置”会在搜索结果中显示“空”文本 WebView 某些 WebView 应用程序无法正常运行...Platform(WPHX),Android Emulator 使用 Android Q Beta 6 映像可能会崩溃。...Google 应用已知问题 Play 商店中撰写评论屏幕会闪烁 启用黑暗模式,Google 搜索仍然是白色文本/白色背景 谷歌翻译不起作用 [Chrome] 视频损坏 Google Play 商店会在首次启动应用时显示更新对话框...相信大家手中都有一台属于自己的测试机或者手机吧。如果想要适配Q,建议加入Google官方的Q内测,早早入坑,会get不少新姿势的。 阅读更多 初探:Java虚拟机那点破事 生还是死?...方舟支持混合编译,终将可替换? 欢迎关注我终端研发部,公众号id:codeGoogler ,一起交流和学习技术!

    1.5K20

    蓝牙键盘鼠标映射_蓝牙鼠标模拟器

    》+《通过蓝牙将手机模拟成游戏方向盘-支持旋转轮胎》三份源码打包下载 【2022.04.21】源码Android 12中运行注意事项:由于Android 12对蓝牙权限做了调整,取消了位置信息,增加了扫描...安装了HidDroid后的机要控制苹果手机需要做如下设置苹果手机上找到:设置->辅助功能->触控->辅助触控->设备,选择已经配对并连接的手机,设置成功后屏幕上出现一个白色的球,这个球就是鼠标指针...代码运行效果 让你的手机变成键盘鼠标 2020.11.11编辑 最近一段时间研究了鼠标键盘的基础上新增多媒体控制功能。...下面看看效果: [win10下媒体控制效果] [ios13媒体控制效果] 说明:win10下用Media Player播放视频,上一首、下一首功能是后退/快进,用音乐播放器才是切歌...如果手机上没有安装音乐播放器则切歌/播放/暂停/停止功能不起作用,只能调节音量。

    5.7K20

    RHEL7或CentOS7中修改创建账号系统默认UID、GID最小起始值及其他设置

    大家应该都知道,Linux系统中,1000以下的UID是系统保留的UID。随意修改系统上某些帐号的 UID 很可能会导致某些程序无法进行,甚至导致系统无法顺利运行。...var/lib/nfs /sbin/nologin nfs-utils # Note: nfsnobody is 4294967294 on 64-bit platforms (-2) 未来...现在在RHEL7官方文档中,已经推荐使用5000作为新建账户的最小UID值,怎么样来修改创建账号是最小UID,GID起始值及一些其他设置呢?...通过查看/etc/login.defs文件我们会发现,关于创建账号的一些默认选项都会在这个文件内有设置。...the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local #是否创建用户目录

    3.3K10

    vue项目低版本机显示空白原因

    vue项目低版本机显示空白原因: 可能的原因一: 查看debug,报错,可能有箭头函数语法错误,或者其他语法问题,那可能是ES6语法问题。 这时候需要安装babel-pollyfill。.../src/main.js‘ //原本只有这一行 } 这时如果机依然空白打不开,继续查看原因二 可能的原因二: 查看npm run build打包之后有没有打包报错,有时间一些小功能可能不影响页面展示和使用...,但是打包也报错了,我们可能就忽略了,只要打包有报错,就一定不能正常显示,不像浏览器,我这里看到的报错是 ?...发现报错的位置是router文件夹下的index.js文件中   分别是用了es6对象的合并,和模版字符串,这时候只需要去webpack.base.conf.js中 { test: /...], }, 加一个include,resolve  router所在目录即可,如果这里直接写路径,会不起作用

    2.3K10
    领券