title: How to use Actionbar items with Viewpager + Fragments
body: <p>Im trying to figure out how to implement Actionbar items based on the Fragment that is being loaded inside my viewpager. My code is below and im just trying to figure out the best practice for working with ABS + ViewPager + Fragments.</p>
  
  <h2>MainActivity</h2>
  
  <pre><code>public class MainActivity extends SherlockFragmentActivity {
  private ViewPager mPager;
  private TitlePageIndicator mIndicator;
  private MainPagerAdapter mAdapter;
  private List&lt;Fragment&gt; mFragments;
  
  private static final String FRAGMENT1 = Fragment1.class.getName();
  private static final String FRAGMENT2 = Fragment2.class.getName();
  private static final String FRAGMENT3 = SupportFragment.class.getName();
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.a_main);
  
      // add fragments
      mFragments = new ArrayList&lt;Fragment&gt;();
      mFragments.add(Fragment.instantiate(this, FRAGMENT1));
      mFragments.add(Fragment.instantiate(this, FRAGMENT2));
      mFragments.add(Fragment.instantiate(this, FRAGMENT3));
  
      // adapter
      mAdapter = new MainPagerAdapter(getSupportFragmentManager(), mFragments);
  
      // pager
      mPager = (ViewPager) findViewById(R.id.view_pager);
      mPager.setAdapter(mAdapter);
  
      // indicator
      mIndicator = (TitlePageIndicator) findViewById(R.id.title_indicator);
      mIndicator.setViewPager(mPager);
  }
    ...
  </code></pre>
  
  <h2>MainPagerAdapter</h2>
  
  <pre><code>public class MainPagerAdapter extends FragmentPagerAdapter {
  private List&lt;Fragment&gt; mFragments;
  private String[] titles = new String[] {"System", "Community", "Support"};
  private int mCount = titles.length;
  
  public MainPagerAdapter(FragmentManager fm, List&lt;Fragment&gt; f) {
      super(fm);
      mFragments = f;
  }
  
  @Override
  public Fragment getItem(int position) {
      return mFragments.get(position);
  }
  
  @Override
  public int getCount() {
      return mCount;
  }
  @Override
  public CharSequence getPageTitle(int position) {
      return titles[position];
  }
  </code></pre>
  
  <h2>Fragment1</h2>
  
  <pre><code> public class Fragment1 extends SherlockFragment {
  WebView web;
  static ProgressBar progressBar;
  
  @Override
  public View onCreateView(LayoutInflater inf, ViewGroup grp, Bundle icicle) {
      View v = inf.inflate(R.layout.activity_main, grp, false);
      web = (WebView) v.findViewById(R.id.webView);
      progressBar = (ProgressBar) v.findViewById(R.id.progressBar1);
      return v;
  }
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
      super.onActivityCreated(savedInstanceState);
      web.setWebViewClient(new SpecialWebView(progressBar));
      web.setWebChromeClient(new SpecialWebChromeClient(progressBar));
      // Progress Bar - End
  
      WebSettings websettings = web.getSettings();
      websettings.setBuiltInZoomControls(false);
      web.setBackgroundColor(Color.parseColor("#f2f2f2"));
      websettings.setUseWideViewPort(true);
      websettings.setJavaScriptEnabled(true);
      websettings.setAllowFileAccess(true);
      websettings.setDomStorageEnabled(true);
      websettings.setLoadWithOverviewMode(true);
      websettings.setSavePassword(true);
      web.loadUrl("http://www.google.com");   
  }
  </code></pre>
  
  <p>Inside my MainActivity i've tried the following and cant get the code right.</p>
  
  <pre><code>@Override
  public boolean onCreateOptionsMenu(Menu menu) {
      MenuInflater Inflater = getSupportMenuInflater();
      Inflater.inflate(R.menu.menu, menu);
      return true;
  
  }
  @Override
  public boolean onOptionsItemSelected(MenuItem Item) {
      final int current = ((ViewPager) mFragments).getCurrentItem();
      String currentId = current == 0 ? FRAGMENT1: (current == 1 ? FRAGMENT2: FRAGMENT3);
      //WebView web = (WebView) findViewById(currentId);
      switch (Item.getItemId()) {
      case R.id.menu_back:
      //  web.goBack();
          return true;
      case R.id.menu_forward:
          //web.goForward();
          return true;
      case R.id.menu_refresh:
          //web.reload();
          return true;
      }
      return super.onOptionsItemSelected(Item);
  }
  </code></pre>