title: Different menu for different tabs in tab+swipe application for android project
body: <p>I am a beginner to android applications and java, basically I am a PHP developer.</p>
  
  <p>I've a project for a tab+swipe application,</p>
  
  <h2><em><strong>Reseller.java</em></strong></h2>
  
  <pre><code>package com.idevoc.onsitereseller;
  
  import java.util.ArrayList;
  import android.app.ActionBar;
  import android.app.ActionBar.Tab;
  import android.app.Activity;
  import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.support.v4.app.FragmentActivity;
  import android.support.v4.app.FragmentManager;
  import android.support.v4.app.FragmentPagerAdapter;
  import android.support.v4.app.FragmentTransaction;
  import android.support.v4.view.ViewPager;
  import android.view.Menu;
  import android.view.MenuInflater;
  
  public class Reseller extends FragmentActivity {
  
      FragmentTransaction transaction;
      static ViewPager mViewPager;
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_reseller);
  
      Fragment tabOneFragment = new TabOne();
      Fragment tabTwoFragment = new TabTwo();
  
      PagerAdapter mPagerAdapter = new PagerAdapter(getSupportFragmentManager());
      mPagerAdapter.addFragment(tabOneFragment);
      mPagerAdapter.addFragment(tabTwoFragment);
  
      //transaction = getSupportFragmentManager().beginTransaction();
  
      mViewPager = (ViewPager) findViewById(R.id.pager);
              mViewPager.setAdapter(mPagerAdapter);
              mViewPager.setOffscreenPageLimit(2);
          mViewPager.setCurrentItem(0);
  
              mViewPager.setOnPageChangeListener(
                  new ViewPager.SimpleOnPageChangeListener() {
                      @Override
                      public void onPageSelected(int position) {
                          // When swiping between pages, select the
                          // corresponding tab.
                          getActionBar().setSelectedNavigationItem(position);
                      }
                  });
  
      ActionBar ab = getActionBar();
      ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
      Tab tab1 = ab.newTab().setText("Tab One")
                      .setTabListener(new TabListener&lt;TabOne&gt;(
                      this, "tabone", TabOne.class));
  
              Tab tab2 = ab.newTab().setText("Tab Two")
                              .setTabListener(new TabListener&lt;TabTwo&gt;(
                      this, "tabtwo", TabTwo.class));
  
              ab.addTab(tab1);
              ab.addTab(tab2);         
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      MenuInflater inflater = getMenuInflater();
          inflater.inflate(R.menu.menu, menu);
      return true;
  }
  
  public static class TabListener&lt;T extends Fragment&gt; implements ActionBar.TabListener {
      private Fragment mFragment;
      private final Activity mActivity;
      private final String mTag;
      private final Class&lt;T&gt; mClass;
  
      /** Constructor used each time a new tab is created.
        * @param activity  The host Activity, used to instantiate the fragment
        * @param tag  The identifier tag for the fragment
        * @param clz  The fragment's Class, used to instantiate the fragment
        */
      public TabListener(Activity activity, String tag, Class&lt;T&gt; clz) {
          mActivity = activity;
          mTag = tag;
          mClass = clz;
      }
  
      /* The following are each of the ActionBar.TabListener callbacks */
  
      public void onTabSelected(Tab tab, FragmentTransaction ft) {
          // Check if the fragment is already initialized
          if (mFragment == null) {
              // If not, instantiate and add it to the activity
              mFragment = Fragment.instantiate(mActivity, mClass.getName());
              ft.add(android.R.id.content, mFragment, mTag);
          } else {
              // If it exists, simply attach it in order to show it
              ft.attach(mFragment);
          }
      }
  
      public void onTabUnselected(Tab tab, FragmentTransaction ft) {
          if (mFragment != null) {
              // Detach the fragment, because another one is being attached
              ft.detach(mFragment);
          }
      }
  
      public void onTabReselected(Tab tab, FragmentTransaction ft) {
          // User selected the already selected tab. Usually do nothing.
      }
  
              public void onTabReselected(Tab arg0,
                              android.app.FragmentTransaction arg1)
              {
  
  
              }
  
              public void onTabSelected(Tab arg0, android.app.FragmentTransaction arg1)
              {
  
                      mViewPager.setCurrentItem(arg0.getPosition());
              }
  
              public void onTabUnselected(Tab arg0,
                              android.app.FragmentTransaction arg1)
              {
  
  
              }
  }
  
  public class PagerAdapter extends FragmentPagerAdapter{
  
      private final ArrayList&lt;Fragment&gt; mFragments = new ArrayList&lt;Fragment&gt;();
  
      public PagerAdapter(FragmentManager manager){
          super(manager);
      }
  
      public void addFragment(Fragment fragment){
          mFragments.add(fragment);
          notifyDataSetChanged();
      }
  
      @Override
      public int getCount() {
          return mFragments.size();
      }
  
      @Override
      public Fragment getItem(int position) {
          return mFragments.get(position);
      }
    }
  
   }
  </code></pre>
  
  <h2><em><strong>TabOne.java</em></strong></h2>
  
  <pre><code> package com.idevoc.onsitereseller;
  
   import android.os.Bundle;
   import android.support.v4.app.Fragment;
   import android.view.LayoutInflater;
   import android.view.View;
   import android.view.ViewGroup;
  
  public class TabOne extends Fragment
  {
  public static final String ARG_SECTION_NUMBER = "section_number";
       @Override
      public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                      Bundle savedInstanceState)
      {
              View view = inflater.inflate(R.layout.tab_a, container, false);
              return view;
      }
  
  }
  </code></pre>
  
  <h2><em><strong>TabTwo.java</em></strong></h2>
  
  <pre><code> package com.idevoc.onsitereseller;
  
   import android.os.Bundle;
   import android.support.v4.app.Fragment;
   import android.view.LayoutInflater;
   import android.view.View;
   import android.view.ViewGroup;
  
   public class TabTwo extends Fragment
   {
  
       @Override
          public void onActivityCreated(Bundle savedInstanceState){
          super.onActivityCreated(savedInstanceState);
          }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                      Bundle savedInstanceState)
      {
              View view = inflater.inflate(R.layout.tab_a, container, false);
  
              return view;
      }
    }
  </code></pre>
  
  <p>Here I am loading two tabs for the application and loading a common menu, but I need to load a different menu for different tabs like:</p>
  
  <p>if the tab is TabOne then load menu_a, if tab is TabTwo then load menu_b with different options.
  I don't want to load the common menu.  How can I do this?</p>