我有一个活动和三个碎片。当我从一个片段转到另一个片段时,我将它写入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(假);
return true;
default:
return super.onOptionsItemSelected(item);
}
但是,如果我按下系统后退按钮并转到第一个片段,后退箭头就停留了,那就错了。
答案 0 :(得分:0)
当我在Activity中覆盖系统后退按钮时
@Override
public void onBackPressed(){
super.onBackPressed();
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
当我从第三个碎片到第二个碎片时,后退箭头会丢失。 但是当从第二个片段转换到第一个片段时,箭头必须消失。