片段在ViewPager中重叠

时间:2015-05-14 06:12:03

标签: android android-fragments android-viewpager baseadapter

我在Android的PageViewer中获得了重叠片段。

PFB我的PageViewer布局

highgui

我通过我的First Fragment Say FragmentA第一个Tab来调用它。我需要用Fragment A1替换它  通过从BaseAdapter

列表中单击按钮来调用此项
<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="900dp"
    android:layout_alignParentBottom="true" >

  <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_above="@android:id/tabs" >

            <android.support.v4.view.ViewPager
                android:id="@+id/viewpager"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </android.support.v4.view.ViewPager>
        </FrameLayout>

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal" >
        </TabWidget>
    </RelativeLayout>
</TabHost>

My Fragment被调用,但它在viewpager上重叠。 选项卡从新片段下方运行。请帮助

事后看来,我认为某处嵌套片段或儿童片段应该发挥作用。请指导。

1 个答案:

答案 0 :(得分:1)

我使用 ViewPager ,从 PagerAdapter 扩展。我认为您没有引用正确的布局,而是使用了id / tabcontent 。我可以举例说明我的所作所为,我认为你也可以这样做。

在Fragment xml:

<LinearLayout
...
<android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="1"
        android:background="@android:color/white" />
...
</LinearLayout>

在片段代码中:

mViewPager = (ViewPager) view.findViewById(R.id.viewpager);

在ViewPager代码中

@Override
public Object instantiateItem(ViewGroup container, int position) {
...
View view = getActivity().getLayoutInflater().inflate(R.layout.pager_item, container, false);
...
return view
}

注意:我没有使用FragmentTransaction类来显示片段或标签视图。

让我们发布...