后退箭头工具栏正在打开抽屉

时间:2015-09-08 16:44:45

标签: android android-toolbar

有一次,我的抽屉图标从汉堡包变为后退按钮,调用:

((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);

因此,显示后退箭头,但点击它,抽屉仍然打开。

我希望能够处理它,而不是打电话给onBackpressed()

这是我制作抽屉的实例

   mActionBarDrawerToggle = new ActionBarDrawerToggle(getActivity(), mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close) {
        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            if (!isAdded()) return;
            getActivity().invalidateOptionsMenu();
        }

        @Override
        public View.OnClickListener getToolbarNavigationClickListener() {


            return super.getToolbarNavigationClickListener();

        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);

            if (!isAdded()) return;
            if (!mUserLearnedDrawer) {
                mUserLearnedDrawer = true;
                saveSharedSetting(getActivity(), PREF_USER_LEARNED_DRAWER, "true");
            }

            getActivity().invalidateOptionsMenu();
        }
    };

我认为当我点击抽屉toogle时,必须调用getToolbarNavigationClickListener()方法,无论是汉堡包还是后箭头,但它没有。

1 个答案:

答案 0 :(得分:0)

当您需要覆盖工具栏上的箭头时,单击设置导航,单击工具栏。

getSupportActionBar().setNavigationOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            //handle back press or open drawer etc.
        }
});

每次都适合我。