片段。 ActionBar返回导航

时间:2016-01-24 16:20:31

标签: android navigation android-actionbar-compat fragment-backstack

我有一个活动和三个碎片。当我从一个片段转到另一个片段时,我将它写入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);
    }

但是,如果我按下系统后退按钮并转到第一个片段,后退箭头就停留了,那就错了。

1 个答案:

答案 0 :(得分:0)

当我在Activity中覆盖系统后退按钮时

@Override
public void onBackPressed(){
    super.onBackPressed();
    getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
当我从第三个碎片到第二个碎片时,

后退箭头会丢失。 但是当从第二个片段转换到第一个片段时,箭头必须消失。