2016-08-03 130 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); 
     } 
    } 
});