有时候咱们想要在展现viewPager的同时就让它滑动到指定的页面,咱们能够用viewPager.setCurrentItem(index)
。
然而这种作法依然会加载position为0的页面再跳转到指定的页面。
今天发现能够经过反射来改变viewPager的初始化index,亲测6.0有效。
代码以下:code
//初始化adapter,FileLookUpAdapter继承自FragmentStatePagerAdapter adapter = new FileLookUpAdapter(getSupportFragmentManager()); Field field = null; try { field = ViewPager.class.getDeclaredField("mRestoredCurItem"); } catch (NoSuchFieldException e) { e.printStackTrace(); } field.setAccessible(true); try { //index 为咱们想要的第一次就展现的页面index field.set(viewPager, index); } catch (IllegalAccessException e) { e.printStackTrace(); } //setAdapter viewPager.setAdapter(adapter);