问题:如何获取ViewPager FragmentStatePagerAdapter的当前视图?
FragmentStatePagerAdapter
是必需的,而不是PagerAdapter
。
instantiateItem(View container, int position)
建议 setTag 和 findViewWithTag 。这适用于PagerAdapter。FragmentStatePagerAdapter
中, instantiateItem 有 ViewGroup 参数不 查看参数:{{ 1}} 所以我希望这不是不可能,是吗?请帮忙!
答案 0 :(得分:4)
您可以将 setTag 技巧与您在 instantiateItem 方法中返回的视图一起使用。
在这里,我正在使用带有PagerAdapter的ViewPager,但我认为这个想法也适合你。
因此,当您实例化视图时(在PagerAdapter中,该方法也是 instantiateItem(ViewGroup容器,int位置)),您应该使用 setTag < / strong>到您的观点。
像这样:
view.setTag("view" + position);
return view;
因此,当您需要当前视图时,您应该执行以下操作:View view = (View) pager.findViewWithTag("view" + pager.getCurrentItem());
,其中 pager 是ViewPager,您可以将其传递给它从您的Activity到适配器的参数。