尽快将PageTransformer应用到PagerView

2023-11-25

我将 PageTransfomer 应用于 ViewPager,效果很好,但我想在将 PageTransformer 设置为 ViewPager 后立即启动页面的转换。 我已经尝试过:

  • 设置当前项目(int)
  • setCurrentItem(int,true)
  • beginFakeDrag()、fakeDragBy(float)、endFakeDrag()
  • 无效()
  • getAdapter().notifyDataSetChanged()

我已经在我的活动的 onCreate 中尝试了所有这些,但也许我错了。

有人有线索吗 ?

Thanks


根据奥列格的回答,我的应用程序使用了以下代码。

我的补充是检查返回的结果beginFakeDrag() inside _invalidatePageTransformer.

I call sendInvalidatePageTransformer()从内部

  • onConfigurationChanged()当方向改变时
  • 在 - 的里面LoaderCallback<Cursor>-我的片段中的方法

    private Handler handler = new Handler()
    {
            public void handleMessage(Message msg)
            {
                    switch(msg.what)
                    {
                            case 0:
                                    _invalidatePageTransformer();
                                    break;
                    }
            }
    };
    
    private void _invalidatePageTransformer()
    {
            //no need to invalidate if we have no adapter or no items
            if (this.getAdapter() != null && this.getAdapter().getCount() > 0)
            {
                    //import check here, only fakeDrag if "beginFakeDrag()" returns true
                    if (this.beginFakeDrag())
                    {
                            this.fakeDragBy(0f);
                            this.endFakeDrag();
                    }
            }
    }
    
    public void sendInvalidatePageTransformer()
    {
            this.handler.sendEmptyMessage(0);
    }
    

EDIT:注意:此代码位于自定义 ViewPager 子类内

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

尽快将PageTransformer应用到PagerView 的相关文章

随机推荐

  • 以不同用户身份运行 exec

    是否可以运行exec 作为不同的用户 在我的盒子上它作为 www data 运行 我希望执行一个需要访问不属于 www data 的文件的脚本 如果您有权访问服务器的配置 假设它是 Apache 您可能会考虑使用suPHP 在虚拟主机中配置
  • 将 Launch4J 配置为仅使用 32 位 JVM

    我正在使用 Launch4J 启动我的 Java 应用程序 如果系统上存在 x64 JRE Launch4J 似乎更喜欢它 不幸的是 我的应用程序无法在 64 位 JVM 上运行 因为我正在加载 32 位 DLL 这是不可能的 并且会导致
  • 使用 jquery 和 ajax 进行网站抓取

    我希望能够操作给定 url 的 html 类似 html 抓取之类的东西 我知道这可以使用curl或一些抓取库来完成 但是我想知道是否可以使用jquery使用ajax向url发出get请求并检索url的html 并在html 返回 谢谢 我
  • 如何使用 LINQ to Entity 选择递归嵌套实体

    我有一个名为 Category 的实体 该实体包含一个名为 ChildCategories 的 IEnumerable 一个类别可以有这些子类别 这些子类别可以有自己的子类别 依此类推 假设我已经选择了顶级父类别 我想获取所有子类别及其子类
  • android dlopen() 中的竞争条件?

    我的 Android 应用程序有一个简单的 加载器 NativeActivity 和一个非常简单的android main 它只加载不同的共享对象并将控制权传递给它 typedef void Tandroid main android ap
  • 在表达式开头使用脱字符号 ^ 符号的预处理器宏

    看这个页面 http www mikeash com pyblog friday qa 2010 12 31 c macro tips and tricks html 我找到了这段代码 语法 插入符 括号有什么作用 define MAX x
  • Gulp错误internal/child_process.js:298 throw errnoException(err, 'spawn');错误:生成 EACCES

    我搜索了这个错误的原因 发现我必须更改权限或使用 sudo 运行 gulp 但仍然遇到相同的错误 任何人都可以帮忙吗 内部 child process js 298 抛出 errnoException err spawn 错误 生成 EAC
  • 转义 hstore 包含 JDBC 准备语句中的运算符

    我正在使用带有 hstore 的 PostgreSQL 9 1 4 和PostgreSQL 的 JDBC驱动程序 9 1 901 jdbc4 我正在尝试使用包含运算符 在PreparedStatement中 但是 字符被解析为变量占位符 是
  • Webdriver.io 因 NoSessionIdError 崩溃

    我正在尝试让 webdriver io 和 Jasmine 工作 下列的他们的例子 我的脚本位于test specs first test2 js 根据配置 并包含 var webdriverio require webdriverio d
  • moment-duration-format.d.ts 定义不扩展 Moment 模块

    知道为什么这不起作用或者如何扩展持续时间接口以支持格式功能吗 declare module moment interface Duration format template string precision string settings
  • 导入错误:没有名为 win32api 的模块

    我正在使用 Python 2 7 并且我想使用pywin32 214在 Windows 7 上 我安装了pywin32 214通过使用 MSI 安装程序 但是当我导入时win32api在我的 Python 脚本中 它抛出错误 no modu
  • 如何将多行插入到 SQL Server 并行数据仓库表中

    我使用的是带有 SQL Server 2012 服务器的 PDW AU5 我有一个空的复制表 我正在尝试将数据加载到其中 我只加载 2 条记录 所以 我正在做 INSERT INTO dbo some table Col1 Col2 Col
  • TFS API - 有没有办法获取工作项类型的转换列表?

    我正在尝试从状态 A 到达状态 X 有一些过渡阻止我直接进入 X 我可以将 WorkItemType 导出为 XML 并进行处理 但在这样做之前 我想先问问是否有办法通过 API 获取转换 呜呜 没有多少人需要 WorkItemType 的
  • 如何使用 C API 设置 MySQL 查询超时

    我知道这里有很多类似的问题 当我用谷歌搜索时也有很多结果 但没有一个回答我的问题 我读this this this and this但它们都不适合我 我不谈论任何锁 我不想使用 MySQL C 连接器 只想使用 C API 来做到这一点 另
  • 如何保护 Sitecore 内容树中的整个分支?

    我的内容树中有一个部分 我想拒绝除特定角色之外的所有权限 这似乎是一个非常明显的任务 但我在安全管理员食谱中没有看到它的示例 并且我无法找到使用安全工具来完成此操作的简单方法 我一定错过了一些明显的东西 假设我有这个 sitecore co
  • 如何使用 C# 从字符串中获取特定字符位置

    这是非常基本的问题 但我无法找到特定角色的位置 例如 string a ABCDE 我想要上面字符串中 E 的位置 Use IndexOf var pos a IndexOf E
  • Intellij idea插件开发-热重载?

    我正在为 intellij idea 创建一些插件 每次更改代码时 我都需要重新运行应用程序 有类似热重载或类似的东西吗 或者更有效的方法 我相信您正在寻找运行 gt 重新加载更改的类 通常只要进行一些小的改变就可以很好地工作
  • 使用 Jquery 进行时间验证

    我在用jquery 验证插件验证我的表格 要验证文本输入 我所做的就是编写class required 在属性中 它为我进行验证 现在我正在尝试验证用户必须输入时间 如 02 45 00 AM 的输入 但我正在使用的插件没有任何时间验证功能
  • 如何在 DropWizard 中维护用户会话?

    我正在寻找一个持久会话管理器 它将会话保存在可与 DropWizard 一起使用的文件系统 如 PHP 上 我看到有一个Environment getSessionHandler 但我没有看到任何相关文档 我可以自己写 但我希望能吃到一顿熟
  • 尽快将PageTransformer应用到PagerView

    我将 PageTransfomer 应用于 ViewPager 效果很好 但我想在将 PageTransformer 设置为 ViewPager 后立即启动页面的转换 我已经尝试过 设置当前项目 int setCurrentItem int