我是Android编程的新手,我正在尝试制作一个在一个主要片段活动中使用viewpager中的标签的应用。 viewpager和标签工作正常,但我想有一个选项菜单,当选择一个项目时,打开一个全新的片段,但我似乎无法删除视图寻呼机。我希望能够将新片段放在主屏幕上的viewpager上,但尝试使用片段事务处理似乎无法正常工作
有什么想法吗?
感谢您的时间
答案 0 :(得分:3)
确保:
1)您的片段(例如:ViewPagerFragment1)将由viewpager选择,它具有FrameLayout作为根布局,其id为#34; container" e.g:
<FrameLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/container"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout.... and so on
</FrameLayout>
2)在ViewPagerFragment1类中,您必须在触发操作后将新片段替换/添加到FrameLayout。 E.g:
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.selection:
// Create new fragment and transaction
NewFragment newFragment = new NewFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.container, newFragment, "NewFragment");
transaction.addToBackStack(null);
transaction.commit();
break;
default:
break;
}
}
答案 1 :(得分:2)
好吧,您将使用我假设的Fragment
的ID将FrameLayout
添加到某个FrameLayout
。只需确保FrameLayout
添加Fragment
的{{1}}位于ViewPager
之上。
例如,如果ViewPager
和FrameLayout
都在RelativeLayout
容器中,请确保FrameLayout
声明在ViewPager
下方XML
1}}。这会将FragmeLayout
堆叠在ViewPager
之上。将Fragment
添加到FrameLayout
后,它将被绘制在最顶层。