【发布时间】:2015-07-15 06:39:49
【问题描述】:
我正在使用导航栏,我的“主要活动”中有 5 个片段。 我的第 5 个片段是调查页面,我希望在调查完成后,这第 5 个片段将从我的导航栏中删除。
我在 Main Activity 中的代码:
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new AFragment();
break;
case 1:
fragment = new BFragment();
break;
case 2:
fragment = new CFragment();
break;
case 3:
fragment = new DFragment();
break;
case 4:
fragment = new SurveyFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.frame_container, fragment);
ft.commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
【问题讨论】:
-
使用 fragmentstackcount
-
在第 5 个片段中有一个按钮,即完成,当单击完成按钮时,该片段也应该从导航栏中删除。
-
你必须使用viewpager。请搜索viewpager
-
@AnandSavjani 你能进一步解释为什么你认为 viewpager 会解决这个问题吗?很明显(如果你阅读上面的代码就很明显了),片段是导航抽屉的一部分,所以 viewpager 听起来就像你不知道你在说什么......
-
因为您可以动态添加或删除片段。这就是为什么我建议您使用它
标签: android android-layout android-fragments android-activity