title: App Icon/Title doesn't toggle drawer menu
body: <p>well I read all the posts about the onOptionsItemSelected...but did not find the solution to my problem.</p>
  
  <p>Everything was working fine, until I added ActionBar Tabs. So i guess there is a conflict somewhere..</p>
  
  <p>here is my <strong>MainActivity.java</strong> : </p>
  
  <pre><code>package me.hicham.resume;
  
  import java.util.ArrayList;
  
  import me.hicham.resume.adapter.NavDrawerListAdapter;
  import me.hicham.resume.adapter.TabsPagerAdapter;
  import me.hicham.resume.model.NavDrawerItem;
  import android.app.ActionBar;
  import android.app.ActionBar.Tab;
  import android.app.FragmentTransaction;
  import android.content.res.Configuration;
  import android.content.res.TypedArray;
  import android.os.Bundle;
  import android.support.v4.app.ActionBarDrawerToggle;
  import android.support.v4.app.Fragment;
  import android.support.v4.app.FragmentActivity;
  import android.support.v4.app.FragmentManager;
  import android.support.v4.view.ViewPager;
  import android.support.v4.widget.DrawerLayout;
  import android.util.Log;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.ListView;
  
  public class MainActivity extends FragmentActivity implements
      ActionBar.TabListener {
  
  private DrawerLayout mDrawerLayout;
  private ListView mDrawerList;
  private ActionBarDrawerToggle mDrawerToggle;
  private ViewPager viewPager;
  private TabsPagerAdapter mAdapter;
  private ActionBar actionBar;
  private CharSequence mDrawerTitle;
  private CharSequence mTitle;
  //slide menu items : 
  private String[] navMenuTitles;
  private TypedArray navMenuIcons;
  
  private ArrayList&lt;NavDrawerItem&gt; navDrawerItems;
  private NavDrawerListAdapter adapter;
  // Tab titles
  private String[] tabs = { "Home", "Resume", "Skills", "Contact" };
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      /*drawer stuff - DEBUTE */
      mTitle = mDrawerTitle = getTitle();
      navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
      navMenuIcons = getResources()
              .obtainTypedArray(R.array.nav_drawer_icons);
      mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
      mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
  
      navDrawerItems = new ArrayList&lt;NavDrawerItem&gt;();
      //Home
      navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
      // About
      navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
      // Social
      navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
      // rate my app
      navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true, "22"));
  
      navMenuIcons.recycle();
      mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
      adapter = new NavDrawerListAdapter(getApplicationContext(),
              navDrawerItems);
      mDrawerList.setAdapter(adapter);
      getActionBar().setDisplayHomeAsUpEnabled(true);
      getActionBar().setHomeButtonEnabled(true);
      mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
              R.drawable.ic_drawer, //nav menu toggle icon
              R.string.app_name, // nav drawer open - description for accessibility
              R.string.app_name // nav drawer close - description for accessibility
      )  {
          public void onDrawerClosed(View view) {
              getActionBar().setTitle(mTitle);
              // calling onPrepareOptionsMenu() to show action bar icons
              invalidateOptionsMenu();
          }
  
          public void onDrawerOpened(View drawerView) {
              getActionBar().setTitle(mDrawerTitle);
              // calling onPrepareOptionsMenu() to hide action bar icons
              invalidateOptionsMenu();
          }
      };
      mDrawerLayout.setDrawerListener(mDrawerToggle);
  
      if (savedInstanceState == null) {
          // on first time display view for first nav item
          displayView(0);
      }
  /*drawer stuff - END*/
      // Initilization
      viewPager = (ViewPager) findViewById(R.id.pager);
      actionBar = getActionBar();
      mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
  
  
      viewPager.setAdapter(mAdapter);
      actionBar.setHomeButtonEnabled(false);
      actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        
  
      // Adding Tabs
      for (String tab_name : tabs) {
          actionBar.addTab(actionBar.newTab().setText(tab_name)
                  .setTabListener(this));
      }
  
      /**
       * on swiping the viewpager make respective tab selected
       * */
      viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
  
          @Override
          public void onPageSelected(int position) {
              // on changing the page
              // make respected tab selected
              actionBar.setSelectedNavigationItem(position);
          }
  
          @Override
          public void onPageScrolled(int arg0, float arg1, int arg2) {
          }
  
          @Override
          public void onPageScrollStateChanged(int arg0) {
          }
      });
  }
  
  private class SlideMenuClickListener implements
  ListView.OnItemClickListener {
      @Override
      public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position,
      long id) {
      // display view for selected nav drawer item
          displayView(position);
  }
  }
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
  }
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      // toggle nav drawer on selecting action bar app icon/title
      if (mDrawerToggle.onOptionsItemSelected(item)) {
          return true;
      }
      // Handle action bar actions click
      switch (item.getItemId()) {
      case R.id.action_settings:
          return true;
      default:
          return super.onOptionsItemSelected(item);
      }
  
  }
  
  /* *
   * Called when invalidateOptionsMenu() is triggered
   */
  @Override
  public boolean onPrepareOptionsMenu(Menu menu) {
      // if nav drawer is opened, hide the action items
      boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
      menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
      return super.onPrepareOptionsMenu(menu);
  }
  /**
   * Diplaying fragment view for selected nav drawer list item
   * */
  private void displayView(int position) {
      // update the main content by replacing fragments
      Fragment fragment = null;
      switch (position) {
      case 0:
          fragment = new HomeFragment();
          break;
      case 1:
          fragment = new ResumeFragment();
          break;
      case 2:
          fragment = new SkillsFragment();
          break;
      case 3:
          fragment = new ContactFragment();
          break;
  
      default:
          break;
      }
  
      if (fragment != null) {
          FragmentManager fragmentManager = getSupportFragmentManager();
          fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();
  
          // update selected item and title, then close the drawer
          mDrawerList.setItemChecked(position, true);
          mDrawerList.setSelection(position);
          setTitle(navMenuTitles[position]);
          mDrawerLayout.closeDrawer(mDrawerList);
      } else {
          // error in creating fragment
          Log.e("MainActivity", "Error in creating fragment");
      }
  }
  @Override
  public void setTitle(CharSequence title) {
      mTitle = title;
      getActionBar().setTitle(mTitle);
  }
  @Override
  protected void onPostCreate(Bundle savedInstanceState) {
      super.onPostCreate(savedInstanceState);
      // Sync the toggle state after onRestoreInstanceState has occurred.
      mDrawerToggle.syncState();
  }
  @Override
  public void onConfigurationChanged(Configuration newConfig) {
      super.onConfigurationChanged(newConfig);
      // Pass any configuration change to the drawer toggls
      mDrawerToggle.onConfigurationChanged(newConfig);
  }
  
  @Override
  public void onTabReselected(Tab tab, FragmentTransaction ft) {
  }
  
  @Override
  public void onTabSelected(Tab tab, FragmentTransaction ft) {
      // on tab selected
      // show respected fragment view
      viewPager.setCurrentItem(tab.getPosition());
  }
  
  @Override
  public void onTabUnselected(Tab tab, FragmentTransaction ft) {
  }
  
  }
  </code></pre>