如果我在片段中使用此代码,
ActionBar actionBar=((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true)
我收到错误。如果我在活动中,汉堡包图标看起来像这样
但如果我在片段中,汉堡图标会自动变为后箭头。
答案 0 :(得分:0)
如果您尝试在Fragment上添加后退按钮, 只需使用
获取父活动{{1}}
然后添加
{{1}}
这将为您的活动添加回按钮。
或者,如果您尝试自定义ActionBar,请确保使用的是AppComaptActivity。
答案 1 :(得分: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);
}
}
});