目前我正在使用 Navigation Drawer 来开发我的 Android 应用。在第一个碎片中,我使用 Facebook 的 Graph API 加载数据。因此,当我的应用程序首次加载时,它会首先进入第一个碎片。
然后,我使用 Navigation Drawer 点击另一个 Fragment 并查看它。
最后,我再次使用 Navigation Drawer 返回第一个 Fragment 并查看它。
我的问题是,如何继续利用已经创建的 Fragment,而不是在选择导航抽屉项时重新创建它。下面是我切换 Fragment 的代码。
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new SelectionFragment();
break;
case 1:
fragment = new HomeFragment();
break;
case 2:
fragment = new PhotosFragment();
break;
case 3:
fragment = new CommunityFragment();
break;
case 4:
fragment = new PagesFragment();
break;
case 5:
fragment = new SplashFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).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");
}
}
我注意到每次选择选项时确实会有一个“新”的Fragment实例。我该如何实现创建Fragment实例的逻辑仅一次并重复使用它,以便我不必反复加载Fragment。