我会尽可能简化和简化这个问题。

View activeView = mViewPager.getChildAt(mViewPager.getCurrentItem());

当前项为0和1时,返回 subview 。但是,如果当前项为2,则返回null。这是为什么?

编辑:让我改一下自己。如何在任何给定的项目位置获取ViewPager的 subview ?

最佳答案

原来getChildAt(int)不是正确的方法。我所做的就是检索ViewPager中使用的适配器,并从那里找到我的 View :

adapter = mViewPager.getAdapter();
Fragment fragment = adapter.getItem(mViewPager.getCurrentItem());

View activeView = fragment.getView();

如前所述,除非通过setOffscreenPageLimit()另行指定,否则viewPager将仅包含当前子级和相邻子级(currentItem()+/- 1)。

关于android - 如何获得给定项目的ViewPager的 subview ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16511725/

10-12 00:29