Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法从其子片段之一获取ViewPager适配器?_Java_Android_Android Fragments_Android Viewpager_Android Adapter - Fatal编程技术网

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

Java 有没有办法从其子片段之一获取ViewPager适配器?,java,android,android-fragments,android-viewpager,android-adapter,Java,Android,Android Fragments,Android Viewpager,Android Adapter,从ListFragment中,我们可以调用getListAdapter()从列表的一个子片段访问列表的适配器。是否有一种简单的类本机方式可以从ViewPager适配器的一个子片段访问该适配器,类似于ListFragment中的getListAdapter() 如果没有,那么在每个子片段上都包含对ViewPager适配器的引用是否正确?假设您有受保护的MyPagerAdapter mAdopter在父类中 从子片段类执行此操作 ((YourParentClass)getActivity()).mA

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


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

假设您有
受保护的MyPagerAdapter mAdopter
父类中

从子片段类执行此操作

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

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

假设您有受保护的MyPagerAdapter
父类中

从子片段类执行此操作

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

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

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

  • 您可以在活动中声明一个公共方法,该方法将获得对ViewPager适配器的引用

  • 在片段中,可以使用
    getActivity()
    获取对活动的引用。如果您不介意这会带来更紧密的耦合,那么您可以将该引用转换为实际的活动类型

  • 现在可以使用第1点中声明的活动中的方法


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

  • 您可以在活动中声明一个公共方法,该方法将获得对ViewPager适配器的引用

  • 在片段中,可以使用
    getActivity()
    获取对活动的引用。如果您不介意这会带来更紧密的耦合,那么您可以将该引用转换为实际的活动类型

  • 现在可以使用第1点中声明的活动中的方法