Java Android ActionBar自定义视图和导航抽屉

Java Android ActionBar自定义视图和导航抽屉,java,android,navigation-drawer,searchview,Java,Android,Navigation Drawer,Searchview,我的项目主要活动遇到了一些问题。 我有一个SherlockFragmentActivity,它有一个NavigationDrawer,在ActionBar上有一个带有自定义视图的SearchView。 问题是,当我在SearchView上键入查询时,我可以进行搜索,一切正常,但当我关闭SearchView时,ActionBar自定义视图和NavigationDrawer切换从ActionBar中消失 这里是图形问题 这是我的抽屉 private void initialiseDrawer(){

我的项目主要活动遇到了一些问题。 我有一个SherlockFragmentActivity,它有一个NavigationDrawer,在ActionBar上有一个带有自定义视图的SearchView。 问题是,当我在SearchView上键入查询时,我可以进行搜索,一切正常,但当我关闭SearchView时,ActionBar自定义视图和NavigationDrawer切换从ActionBar中消失

这里是图形问题

这是我的抽屉

private void initialiseDrawer(){
    this.drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
    this.drawerList = (ListView)findViewById(R.id.navigation_drawer);
    this.drawerAdapter = new NavigationDrawerAdapter(MainActivity.this);
    this.drawerList.setAdapter(drawerAdapter);
    this.drawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            handleDrawerSelectedPosition(position);
        }
    });

    //getSupportActionBar().setHomeButtonEnabled(true);
    this.drawerToggle = new ActionBarDrawerToggle(this, this.drawerLayout, R.drawable.drawer,
            R.string.navigation_drawer_open, R.string.navigation_drawer_close){
        public void onDrawerOpened(View view){
            super.onDrawerOpened(view);
            hideMenu();
        }

        public void onDrawerClosed(View view){
            super.onDrawerClosed(view);
            showMenu();
        }
    };

    this.drawerLayout.setDrawerListener(drawerToggle);
    this.drawerToggle.syncState();
}

删除SearchView后,如何显示自定义视图和抽屉切换

嗯,我在这里找到了自己的答案,我使用的是SherlockActionBar和支持库4.0,我刚刚删除了sherlock库,并将我的支持库升级到v7.21.03,实现了工具栏,所有问题都解决了,希望它能帮助其他人而不是我

private void showCustomActionBarView(){
    getSupportActionBar().setDisplayShowHomeEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowCustomEnabled(true);
    getSupportActionBar().setDisplayUseLogoEnabled(false);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().setCustomView(R.layout.action_bar_layout);
}