我已经通过在抽屉布局中包含一个片段来制作导航栏。一切正常,抽屉从左边滑出,一切。导航抽屉主页图标不会恢复到汉堡包图标
当应用程序第一次打开时,我看到一个汉堡包图标。当我完全打开并关闭它时,汉堡包图标变为左箭头。
我无法弄清楚为什么会发生这种情况。
下面是代码:
活动:
// Drawer
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
// toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Blah");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// navigation drawer
NavigationDrawerFragment navigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
navigationDrawerFragment.setUp(R.id.navigation_drawer, drawerLayout, toolbar);
以上称为设置功能:
public void setUp(int fragmentId, DrawerLayout drawerLayout, Toolbar toolbar) {
this.navigationDrawerView = getActivity().findViewById(fragmentId);
this.drawerLayout = drawerLayout;
actionBarDrawerToggle = new ActionBarDrawerToggle(getActivity(), drawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getActivity().invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerOpened(drawerView);
getActivity().invalidateOptionsMenu();
}
};
drawerLayout.setDrawerListener(actionBarDrawerToggle);
drawerLayout.post(new Runnable() {
@Override
public void run() {
actionBarDrawerToggle.syncState();
}
});
}
P.S:我是新来的Android编程。我遵循YouTube教程来实现这一目标。我有一个公平的想法是怎么回事,但请(如果可能)多一些描述性的,以帮助我遵循它。
太谢谢你了!我已经吸取了教训。切勿复制粘贴您的代码。我总是忘记重构某些东西或其他东西。 – GauravPandey