2013-07-05 50 views
8

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

  1. 我已经花了近24小时对此和各地搜索适合的解决方案。
  2. 获取当前位置很简单,我已经知道了。这是得到当前查看
  3. FragmentStatePagerAdapter是必需的,而不是PagerAdapter

    • This solution经由instantiateItem(View container, int position)建议setTagfindViewWithTag。这是为PagerAdapter。
    • 然而在FragmentStatePagerAdapterinstantiateItem的ViewGroup PARAM 查看 PARAM:instantiateItem(**ViewGroup** container, int position)

所以我希望这不是不可能的,是吗?请帮忙!

回答

4

您可以使用setTag诀窍与您正在返回的视图instantiateItem方法。

在这里,我使用了ViewPager和PagerAdapter,但我认为这个想法也可能适用于您。

所以,当你实例化你的观点(在PagerAdapter方法也instantiateItem(ViewGroup中的容器,INT位置)),你应该使用setTag到您的视图。

像这样:
view.setTag("view" + position);
return view;

所以,当你需要当前视图,你应该这样做:View view = (View) pager.findViewWithTag("view" + pager.getCurrentItem());,其中寻呼机是ViewPager,你可以得到由它传递参数从您的活动添加到您的适配器。

+0

对于迟到的回复感谢,并感谢您的帮助。你是如何在'viewTroup()'中获得'view'而param是'ViewGroup container'的? – jerrytouille

+0

对不起,以后的答复。 其实我说的视图是你在** instantiateItem **结尾返回的视图。 –