Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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 使用PagerAdapter处理每页的多个片段_Java_Android_Android Fragments_Android Viewpager - Fatal编程技术网

Java 使用PagerAdapter处理每页的多个片段

Java 使用PagerAdapter处理每页的多个片段,java,android,android-fragments,android-viewpager,Java,Android,Android Fragments,Android Viewpager,我已经看过很多关于标准FragmentTabsPager实现的教程,其中每页都有一个片段。我正在尝试将FragmentLayoutSupport示例(左侧为ListFragment,右侧为detailsFragment)与寻呼机示例相结合 以下是v4支持库中的FragmentTabsPager中的getItem()方法 public Fragment getItem(int position) { TabInfo info = mTabs.get(position);

我已经看过很多关于标准
FragmentTabsPager
实现的教程,其中每页都有一个
片段。我正在尝试将
FragmentLayoutSupport
示例(左侧为ListFragment,右侧为details
Fragment
)与寻呼机示例相结合

以下是v4支持库中的
FragmentTabsPager
中的
getItem()
方法

    public Fragment getItem(int position) {
        TabInfo info = mTabs.get(position);
        return Fragment.instantiate(mContext, info.clss.getName(), info.args);
    }
为了支持每页多个
片段
(不是嵌套的,而是并排的),在我重写的这个方法版本中是否会以编程方式声明布局(例如
LinearLayout
),实例化两个
片段
,并将它们作为子级添加,返回
LinearLayout
?(在纵向的情况下,只返回一个
片段的
线性布局

仅仅重写这个方法就足够了吗,或者这是解决问题的一种幼稚的方法吗


谢谢

不要使用
FragmentPagerAdapter
,创建自己的适配器,返回
视图(在您的情况下是
线性布局
)。

还有什么需要更改的吗?是否有理由不扩展FragmentPagerAdapter并覆盖get视图?FragmentPagerAdapter设计用于处理单个片段,您需要多个片段。实现必要的
PagerAdapter
实例化Item()
)方法,并将其插入寻呼机。您可以执行类似“MyPagerAdapter extends PagerAdapter implements ViewPager.OnPageChangeListener”的操作,在单个类中处理页面创建和切换。是否有技术或语义原因不执行
MultipleFragmentPagerAdapter extends FragmentPagerAdapter implements TabHost.OnTabChangeListener,ViewPager.OnPageChangeListener
-如果我重写
getView
以返回另一个包含多个片段的布局,为什么不需要这样做?(这是我问题的关键,我知道我不能以当前的形式使用FragmentPagerAdapter。)你看过代码了吗?大部分的
FragmentPagerAdapter
InstanceItem()
destroyItem()
实现。如果你覆盖了这些,这和写一个新的差不多。此外,还需要实现抽象的
getItem()
,它返回一个片段。您将返回什么,
null
?至于语义,请阅读JavaDoc:“将每个页面表示为片段的PagerAdapter的实现”。因为您的页面不会是单个片段,所以使用这个类显然是错误的。