2015-05-14 109 views
1

我在Android的PageViewer中重叠片段。片段在ViewPager中重叠

PFB我对PageViewer

<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> 

布局我通过第一个选项卡的我的第一块碎片说FragmentA调用它。我需要片段A1 调用这个从列表中单击按钮从BaseAdapter

Fragment duedateFrag = new FieldVisitFragment(); 
      FragmentTransaction ft = fragmentActivity.getSupportFragmentManager().beginTransaction(); 
      ft.replace(android.R.id.tabcontent, duedateFrag); 

      ft.commit(); 

我的片段被调用但其对viewpager重叠来取代它。 选项卡从新片段下面运行。善意帮助

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

+0

你有什么用“的FrameLayout”和“android.support.v4.view.ViewPager”做都是你的情况不同的正确 –

+0

我有4个选项卡,并与viewPager我我滚动这些标签 –

+0

在每个标签上我有单独的片段显示为每个标签 –

回答

1

我已经使用ViewPager,从PagerAdapter延伸。我认为你没有参考正确的布局,你正在使用id/tabcontent。我可以举出一个我做过的例子,我认为你也可以遵循这个例子。

片段中的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类用于显示片段或选项卡视图。

保持我们张贴...

+0

@Original Android:我已经发布了与总开发人员交替的问题https://stackoverflow.com/questions/30233001/fragment-does-not-get-displayed-in-viewpager –

+0

@ProjectAndroid,这几乎就像回答两次相同的“替代”问题。也许更好的办法是编辑你的原始问题,尽管很多改变。这样保留了很多评论。你认为我现在发布的答案有帮助吗? –