2016-08-03 134 views
0

如果我在一個片段中使用此代碼,如何從片段導航回活動?

ActionBar actionBar=((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true) 

我得到一個錯誤。如果我在一個活動是,漢堡包圖標看起來像這樣

enter image description here

,但如果我在一個片段是,漢堡包圖標會自動變爲向後箭頭。

回答

0

如果你想添加的片段後退按鈕, 只是得到父活動與

getActivity() 

再加入

android:parentActivity".YourActivityName" 

這將按鈕添加回您的活動。

或者如果您嘗試自定義您的ActionBar,請確保您使用的是AppComaptActivity。

0

您使用導航抽屜嗎?

使用此在您的活動文件

setSupportActionBar(mToolbar); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

如果你需要使用DrawerIndicator如果要更改,然後使用這個下面的代碼

mDrawerToggle.setDrawerIndicatorEnabled(true); 

要禁用Drawerindicator

mDrawerToggle.setDrawerIndicatorEnabled(false); 

基於點擊的Doggle按鈕

使用此代碼:

final View.OnClickListener originalToolbarListener = mDrawerToggle.getToolbarNavigationClickListener(); 

getActivity().getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() { 
    @Override 
    public void onBackStackChanged() { 
     if (condition) { 
      mDrawerToggle.setDrawerIndicatorEnabled(false); 

      mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        getActivity().getSupportFragmentManager().popBackStack(); 
       } 
      }); 
     } else { 
      toolbar.setTitle(""); 
      mDrawerToggle.setDrawerIndicatorEnabled(true); 

      mDrawerToggle.setToolbarNavigationClickListener(originalToolbarListener); 
     } 
    } 
});