我正在研究来自developer.android.com的NavigationDrawer示例代码并尝试将其实现为我的某个应用程序的导航.但是,当在主窗口中切换片段时,我遇到了一个问题,因为示例代码重用了相同的片段并且只是切换出一个imageview.以下是示例中的代码:
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
}
private void selectItem(int position) {
// update the main content by replacing fragments
Fragment fragment = new PlanetFragment();
Bundle args = new Bundle();
args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
fragment.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
Run Code Online (Sandbox Code Playgroud)
其中PlanetFragment是一个只有imageview但没有功能的通用片段,不适用于我的应用.所以,相反,我尝试用case/switch替换了selectItem方法的第一个块:
public void selectItem(int position){
Fragment fragment;
switch(position){
case 1: fragment …Run Code Online (Sandbox Code Playgroud)