title: The method getSupportFragmentManager() is undefined for the type MainActivity for Actionbarsherlock
body: <ul>
  <li>I am using Actionbarsherlock library, This is a project to perform
  drawer operation</li>
  <li>I have also ensured i don't mix compatibility packages, still i am
  getting this error</li>
  </ul>
  
  <p><strong>MainActivity.java</strong></p>
  
  <pre><code>import java.util.ArrayList;
  import android.app.FragmentManager;
  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.FragmentTransaction;
  import android.support.v4.widget.DrawerLayout;
  import android.util.Log;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.ListView;
  
  import com.actionbarsherlock.app.SherlockActivity;
  import com.actionbarsherlock.app.SherlockFragment;
  import com.actionbarsherlock.view.Menu;
  import com.actionbarsherlock.view.MenuItem;
  
  public class MainActivity extends SherlockActivity {
  
          private DrawerLayout mDrawerLayout;
          private ListView mDrawerList;
          private ActionBarDrawerToggle mDrawerToggle;
  
          // nav drawer title
          private CharSequence mDrawerTitle;
  
          // used to store app title
          private CharSequence mTitle;
  
          // slide menu items
          private String[] navMenuTitles;
          private TypedArray navMenuIcons;
  
          private ArrayList&lt;NavDrawerItem&gt; navDrawerItems;
          private NavDrawerListAdapter adapter;
  
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
  
              mTitle = mDrawerTitle = getTitle();
  
              // load slide menu items
              navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
  
              // nav drawer icons from resources
              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;();
  
              // adding nav drawer items to array
              // Home
              navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
              // Find People
              navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
              // Photos
              navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
              // Communities, Will add a counter here
              navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true, "22"));
              // Pages
              navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
              // What's hot, We  will add a counter here
              navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1), true, "50+"));
  
  
              // Recycle the typed array
              navMenuIcons.recycle();
  
              mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
  
              // setting the nav drawer list adapter
              adapter = new NavDrawerListAdapter(getApplicationContext(),
                      navDrawerItems);
              mDrawerList.setAdapter(adapter);
  
              // enabling action bar app icon and behaving it as toggle button
              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);
              }
          }
  
          /**
           * Slide menu item click listener
           * */
          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);
              }
          }
  
  
          public boolean onCreateOptionsMenu(Menu menu) {
              getSherlock().getMenuInflater().inflate(R.menu.main, menu);
              return true;
          }
  
  
          public boolean onOptionsItemSelected(MenuItem item) {
              // toggle nav drawer on selecting action bar app icon/title
              if (mDrawerToggle.onOptionsItemSelected((android.view.MenuItem) 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
              SherlockFragment fragment = null;
              switch (position) {
              case 0:
                  fragment = new HomeFragment();
                  break;
              case 1:
                  fragment = new FindPeopleFragment();
                  break;
              case 2:
                  fragment = new PhotosFragment();
                  break;
              case 3:
                  fragment = new CommunityFragment();
                  break;
              case 4:
                  fragment = new PagesFragment();
                  break;
              case 5:
                  fragment = new WhatsHotFragment();
                  break;
  
              default:
                  break;
              }
  
              if (fragment != null) {
  
  
                  android.support.v4.app.FragmentTransaction ft = getSupportFragmentManager().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);
          }
  
          /**
           * When using the ActionBarDrawerToggle, you must call it during
           * onPostCreate() and onConfigurationChanged()...
           */
  
          @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);
          }
  
      }
  </code></pre>
  
  <hr>
  
  <p><strong>In the line</strong> ::</p>
  
  <pre><code>android.support.v4.app.FragmentTransaction ft = getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, fragment).commit();
  </code></pre>
  
  <p><strong>I am getting error as</strong>::</p>
  
  <pre><code>The method getSupportFragmentManager() is undefined for the type MainActivity 
  </code></pre>