我正在使用来自支持库的Android DrawerLayout来显示滑动菜单。我使用单个活动和5-6个片段来根据在DrawerLayout菜单中的选择显示它们。但是我有一个小问题,那就是“如何检查哪个片段当前可见,以便如果用户选择对应于已打开片段的菜单项,则不会再次创建并显示它”。目前它会创建并显示该片段,这不太好。当点击菜单项时触发的函数是:
private void selectItem(int position) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
// Locate Position
switch (position) {
case 0:
ft.replace(R.id.content_frame, fragment1);
break;
case 1:
ft.replace(R.id.content_frame, fragment2);
break;
case 2:
ft.replace(R.id.content_frame, fragment3);
break;
}
ft.commit();
mDrawerList.setItemChecked(position, true);
// Close drawer
mDrawerLayout.closeDrawer(mDrawerList);
}
我该如何检查请求的片段是否已经打开,以便不重复创建它?是否有通过FragmentManager检查此项的方法?