zoukankan      html  css  js  c++  java
  • Android给Viewpager默认指定页

    上结果代码

    private void setViewPaperItem(int position) {
            try {
                Class c = Class.forName("android.support.v4.view.ViewPager");
                Field field = c.getDeclaredField("mCurItem");
                field.setAccessible(true);
                field.setInt(viewPagerMain, position);
            } catch (Exception e) {
                e.printStackTrace();
            }
            adapter.notifyDataSetChanged();
            viewPagerMain.setCurrentItem(position);
        }

    其实思路是这样的。为什么我不设置currentitem的时候,直接默认了0,那就从这个地方入手找找看。在然后就是,我什么都不设置,直接getCurrentItem() ,这个值就是默认值,从这里入手,找到默认值是mCurItem的值,再到ViewPager的源码里找找看。是在哪里设置了mCurItem的初始值。找到位置了,那就修理一下,你不是设置adapter的时候,默认为0 了吗? 那好,等你设置完,我再给你改成我希望的position。 怎么改? 反射。

    引用:https://blog.csdn.net/shoneworn/article/details/81082519

  • 相关阅读:
    0723作业
    Kafka概述与设计原理
    Spring 装配Bean入门级
    logback节点配置详解
    Kafka问题排查(消费者自动关闭)
    .NET委托解析
    .NET可变性解析(协变和逆变)
    .NET泛型解析(下)
    .NET泛型解析(上)
    .NET动态调用WebService
  • 原文地址:https://www.cnblogs.com/derekhan/p/11062190.html
Copyright © 2011-2022 走看看