【发布时间】:2016-01-02 10:31:29
【问题描述】:
我有一个导航菜单,它向用户显示各种操作模式。当用户选择一个特定的选项时,activity会加载相应的fragment(例如:Add Product应该加载AddProduct的fragment)。
加载工作正常 - 我使用 FragmentManager 和 FragmentTransaction 用新片段替换当前片段。当屏幕旋转时出现问题 - 我使用的当前两个片段彼此重叠显示。
这是我为 NavigationDrawerListener(加载的部分)设置的代码:
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
DrawerLayout drawerLayout = (DrawerLayout) currentActivty.findViewById(R.id
.homeDrawer);
TextView heading = (TextView) currentActivty.findViewById(R.id.AppHeadingTextView);
switch (position)
{
case 0:
heading.setText("Home");
drawerLayout.closeDrawers();
UserMainScreenFragment homeScreen = new UserMainScreenFragment();
FragmentManager homeManager = currentActivty.getFragmentManager();
FragmentTransaction homeTransaction = homeManager.beginTransaction();
homeTransaction.replace(R.id.contentArea, homeScreen);
homeTransaction.commit();
break;
case 2:
heading.setText("Add a Product");
drawerLayout.closeDrawers();
AddProductFragment newProductFragment = new AddProductFragment();
FragmentManager manager = currentActivty.getFragmentManager();
FragmentTransaction replace = manager.beginTransaction();
replace.replace(R.id.contentArea, newProductFragment);
replace.commit();
break;
}
}
【问题讨论】: