package edu.vanderbilt.vm.guide.ui.listener; import android.annotation.TargetApi; import android.app.ActionBar.Tab; import android.app.ActionBar; import android.app.FragmentTransaction; import android.content.Context; import android.content.Intent; /** * This TabListener launches a new Activity when the tab is clicked. This is * allows us to use MapActivity since there is no MapFragment provided by the * Google APIs. * * @author nicholasking */ @TargetApi(11) public class ActivityTabListener implements ActionBar.TabListener { private Context mContext; private Class<?> mTarget; private final int mSelectionInt; public ActivityTabListener(Context packageCtx, Class<?> target) { this(packageCtx, target, Integer.MIN_VALUE); } public ActivityTabListener(Context packageCtx, Class<?> target, int selectionInt) { mContext = packageCtx; mTarget = target; mSelectionInt = selectionInt; } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { Intent intent = new Intent().setClass(mContext, mTarget).addFlags( Intent.FLAG_ACTIVITY_NO_HISTORY); if (mSelectionInt != Integer.MIN_VALUE) { intent.putExtra("selection", mSelectionInt); } mContext.startActivity(intent); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // Do nothing } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { // Do nothing } }