0

我有一个活动和三个片段。当我从一个片段到另一个我写交易到堆栈中:片段。 ActionBar返回导航

transaction.addToBackStack(null); 

当我按下后退箭头上的动作条,并转到箭头失去了第一个片段,它是正确的。 。

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

当我重写系统恢复按钮,在活动像

@Override 
public void onBackPressed(){ 
    super.onBackPressed(); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
} 

后退箭头是失去,当我从第三到第二个片段。 但是,从第二个片段到第一个片段的过渡时,箭头必须消失。