title: How to swipe through tabs on button click
body: <p>How do you swipe through Tabs on a button click event?</p>
  
  <p>i.e if a calculate Button is pressed then the user will be moved to another page on the tabbed Activity that gives them their result.</p>
  
  <pre><code>public class MainActivity extends ActionBarActivity implements   
  android.support.v7.app.ActionBar.TabListener {
  
  private ViewPager mViewPager;
  
  //TODO: Find alternatives to deprecated methods
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      final ActionBar actionBar = getSupportActionBar();
      actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
  
      SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
  
      mViewPager = (ViewPager) findViewById(R.id.pager);
      mViewPager.setAdapter(mSectionsPagerAdapter);
  
      mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
          @Override
          public void onPageSelected(int position) {
              actionBar.setSelectedNavigationItem(position);
          }
      });
  
      for (int i = 0; i &lt; mSectionsPagerAdapter.getCount(); i++) {
          actionBar.addTab(actionBar.newTab().setText(mSectionsPagerAdapter.getPageTitle(i)).setTabListener(this));
      }
  }
  
  public void onClick(View view){
      EditText weight_entry = (EditText) findViewById(R.id.weight_entry);
      EditText height_entry = (EditText) findViewById(R.id.height_entry);
      String weight = weight_entry.getText().toString();
      String height = height_entry.getText().toString();
      TextView calc_label = (TextView) findViewById(R.id.calc_label);
  
      if (weight.matches("")|| height.matches("")){
          return;
      } else {
          float t;
          float w = Float.parseFloat(weight);
          float h = Float.parseFloat(height);
  
          //TODO: check this
          t = (float)((double)Math.round(10D * (double)(w / (h * h))) / 10D);
  
          calc_label.setText("Your BMI is: " + Float.toString(t));
      }
  
  
      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
      imm.hideSoftInputFromWindow(weight_entry.getWindowToken(), 0);
      imm.hideSoftInputFromWindow(height_entry.getWindowToken(), 0);
  }
  
  public class SectionsPagerAdapter extends FragmentPagerAdapter {
  
      public SectionsPagerAdapter(FragmentManager fm) {
          super(fm);
      }
  
      @Override
      public Fragment getItem(int position) {
          switch (position){
              case 0:
                  return new InputFragment();
              case 1:
                  return new ResultFragment();
              case 2:
                  return new HistoryFragment();
          }
          return null;
      }
  
      @Override
      public int getCount() {
          return 3;
      }
  
      @Override
      public CharSequence getPageTitle(int position) {
          Locale l = Locale.getDefault();
          switch (position) {
              case 0:
                  return getString(R.string.title_section1).toUpperCase(l);
              case 1:
                  return getString(R.string.title_section2).toUpperCase(l);
              case 2:
                  return getString(R.string.title_section3).toUpperCase(l);
          }
          return null;
      }
  }
  </code></pre>