我是一名新手安卓开发者,正在尝试制作一个应用程序,它使用一个主fragmentactivity中的viewpager中的选项卡。Viewpager和选项卡功能良好,但我想有一个选项菜单,当选择某个项目时,打开一个全新的fragment,但是我似乎无法删除viewpager。我希望能够在主屏幕上将新的fragment放置在viewpager上,但使用fragmenttransaction尝试这样做似乎没有效果。
有什么建议吗?
谢谢您的时间。
有什么建议吗?
谢谢您的时间。
请确保:
1)你的Fragment(例如:ViewPagerFragment1),将被viewpager选择,具有FrameLayout作为根布局,并且id为“container”,例如:
<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中。例如:
@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;
}
}
Fragment
添加到某个FrameLayout
中,只需使用FrameLayout
的ID即可。请确保您要添加Fragment
的FrameLayout
位于ViewPager
之上。ViewPager
和FrameLayout
都在一个RelativeLayout
容器中,则请确保在XML
中声明FrameLayout
位于ViewPager
下方。这将使FrameLayout
叠加在ViewPager
之上。当将Fragment
添加到FrameLayout
中时,它将被绘制在顶部。