【发布时间】:2014-12-10 20:41:09
【问题描述】:
我正在使用导航抽屉,当我选择一个项目时,它会正确地将前一个片段替换为我选择的片段,但是如果我打开另一个片段,然后单击后退按钮,它会转到上一个活动之前的片段,它这样做有什么问题?
private void selectItem(int position) {
Fragment newFragment;
FragmentTransaction transaction = getFragmentManager().beginTransaction();
switch (position){
case 0:
//Update
newFragment = new UpdateFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();
listView.setItemChecked(position, true);
setTitle(navigationDrawerItems[position]);
break;
case 1:
//Maps
newFragment = new TimetableFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();
listView.setItemChecked(position, true);
setTitle(navigationDrawerItems[position]);
break;
case 2:
//Timetables
newFragment = new TimetableFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();
listView.setItemChecked(position, true);
setTitle(navigationDrawerItems[position]);
break;
case 3:
//Notes
newFragment = new TimetableFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();
listView.setItemChecked(position, true);
setTitle(navigationDrawerItems[position]);
break;
case 4:
//About
newFragment = new AboutFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();
listView.setItemChecked(position, true);
setTitle(navigationDrawerItems[position]);
break;
case 5:
//Settings
newFragment = new SettingsFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();
listView.setItemChecked(position, true);
setTitle(navigationDrawerItems[position]);
break;
}
//listView.setItemChecked(position, true);
//setTitle(navigationDrawerItems[position]);
drawerLayout.closeDrawer(listView);
}
【问题讨论】:
标签: android android-fragments back