我有一个活动和三个片段。当我从一个片段转到另一个片段时,我将它的事务写入 backStack:
transaction.addToBackStack(null);
当我按下 ActionBar 上的后退箭头并转到箭头丢失的第一个片段时,它是正确的。
switch (item.getItemId()) {
case android.R.id.home:
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
OfficialNameFragment offName = new OfficialNameFragment();
fragmentTransaction.remove(offName);
fragmentTransaction.commit();
getFragmentManager().popBackStack();
((AppCompatActivity)getActivity()).getSupportActionBar() .setDisplayHomeAsUpEnabled(false);
return true;
default:
return super.onOptionsItemSelected(item);
}
但是,如果我按下系统后退按钮并转到后箭头停留的第一个片段,这是错误的。