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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM