Android:ViewPager FragmentStatePagerAdapter获取当前视图

时间:2013-07-05 17:28:46

标签: android android-viewpager fragmentstatepageradapter

问题:如何获取ViewPager FragmentStatePagerAdapter的当前视图?

  1. 我花了将近24小时的时间在这里寻找合适的解决方案。
  2. 获取当前位置很容易,我已经知道了。这是最新的查看
  3. FragmentStatePagerAdapter是必需的,而不是PagerAdapter

    • This solution通过instantiateItem(View container, int position)建议 setTag findViewWithTag 。这适用于PagerAdapter。
    • 但是在FragmentStatePagerAdapter中, instantiateItem ViewGroup 参数 查看参数:{{ 1}}
  4. 所以我希望这不是不可能,是吗?请帮忙!

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到适配器的参数。