有没有办法从其子片段之一获取ViewPager适配器?

时间:2014-03-31 10:05:52

标签: java android android-fragments android-viewpager android-adapter

从ListFragment中,我们可以调用getListAdapter()从其子片段之一访问列表的适配器。是否有一种简单的类本机方式从其子片段之一访问ViewPager适配器,类似于ListFragment中的getListAdapter()?

如果没有,那么在每个子片段上包含对ViewPager适配器的引用的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

假设您在protected MyPagerAdapter mAdopter;课程中有Parent

从子片段类开始执行此操作

((YourParentClass)getActivity()).mAdopter.WHAT_EVER_YOU_WANT_THIS_FOR;

注意:您可以根据需要更改访问修饰符(受保护)。

答案 1 :(得分:1)

有一种方法可以做到这一点,而不在片段中包含对ViewPager的引用。

  1. 您可以在活动中声明一个公共方法,以获取对ViewPager适配器的引用。

  2. 在您的片段中,您可以使用getActivity()获取对活动的引用。然后,如果你不介意这会引起更紧密的耦合,你可以将该引用转换为实际的活动类型。

  3. 您现在可以使用您在第1点声明的活动中的方法。