我会尽可能简化和简化这个问题。
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/