Android 每个导航项的自定义布局

Android 每个导航项的自定义布局,android,navigation,android-actionbar,selected,Android,Navigation,Android Actionbar,Selected,嗨,我想让两个项目有一个CustomLayout,另一个保留initialLayout。我的问题是有没有更好的方法,然后为每个项目使用片段 我的代码如下所示 if(actionBar.getSelectedNavigationIndex() == 0){ android.app.FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentT

嗨,我想让两个项目有一个CustomLayout,另一个保留initialLayout。我的问题是有没有更好的方法,然后为每个项目使用片段

我的代码如下所示

if(actionBar.getSelectedNavigationIndex() == 0){

            android.app.FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            TimePickerFragment timePickerFragment = new TimePickerFragment();
            fragmentTransaction.add(R.id.container, timePickerFragment);
            fragmentTransaction.commit();
        } else if(actionBar.getSelectedNavigationIndex() == 1)
            android.app.FragmentManager fragmentManager1 = getFragmentManager();
            FragmentTransaction fragmentTransaction1 = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.container, initialFragment);
            fragmentTransaction.commit();
        } else if(actionBar.getSelectedNavigationIndex() == 2)
            android.app.FragmentManager fragmentManager2 = getFragmentManager();
            FragmentTransaction fragmentTransaction2 = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.container, initialFragment);
            fragmentTransaction.commit();
        } else if(actionBar.getSelectedNavigationIndex() == 3)
            android.app.FragmentManager fragmentManager3 = getFragmentManager();
            FragmentTransaction fragmentTransaction3 = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.container, initialFragment);
            fragmentTransaction.commit();
        }  else if(actionBar.getSelectedNavigationIndex() == 4)
            android.app.FragmentManager fragmentManager4 = getFragmentManager();
            FragmentTransaction fragmentTransaction4 = fragmentManager.beginTransaction();
            DatePickerFragment datePickerFragment = new DatePickerFragment();
            fragmentTransaction.add(R.id.container, datePickerFragmen);
            fragmentTransaction.commit();
        }  else if(actionBar.getSelectedNavigationIndex() == 5)
            android.app.FragmentManager fragmentManager5 = getFragmentManager();
            FragmentTransaction fragmentTransaction5 = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.container, initialFragment);
            fragmentTransaction.commit();
        }

您没有注意到您有6次重复代码吗

android.app.FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
TimePickerFragment timePickerFragment = new TimePickerFragment();
fragmentTransaction.add(R.id.container, /* Put here fragment variable generated by your defined conditions */);
fragmentTransaction.commit();

如果我只使用您提供的代码片段一次,那么我的所有项目都将具有该布局,我不希望这样,我希望ActionBar中的每个项目都有不同的布局,您有if/break/return和其他Java语言指令。您可能也没有阅读由您定义的条件生成的注释
Put here fragment variable
,因此片段可能会有所不同。对不起,现在我明白了,现在已经晚了,非常感谢您的时间和耐心。