package de.tu.darmstadt.seemoo.ansian.gui.tabs; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import de.tu.darmstadt.seemoo.ansian.MainActivity; import de.tu.darmstadt.seemoo.ansian.gui.fragments.MorseFragment; import de.tu.darmstadt.seemoo.ansian.gui.fragments.AnalyzerFragment; import de.tu.darmstadt.seemoo.ansian.gui.fragments.WaveformFragment; /** * Holds the fragments in the main view and organizes * */ public class MainActivityPagerAdapter extends FragmentStatePagerAdapter { private MyTabFragment fragments[]; public MainActivityPagerAdapter(FragmentManager fragmentManager, MyViewPager viewPager, MainActivity activity) { super(fragmentManager); fragments = new MyTabFragment[] { new MorseFragment(activity), new AnalyzerFragment(activity), new WaveformFragment(activity) }; } // Returns total number of pages @Override public int getCount() { return fragments.length; } // Returns the fragment to display for that page @Override public Fragment getItem(int position) { return fragments[position]; } public int getItemPosition(Object item) { int position = getFragmentPosition((MyTabFragment) item); if (position >= 0) { return position; } else { return POSITION_NONE; } } // Returns the page title for the top indicator @Override public CharSequence getPageTitle(int position) { // Generate title based on item position return fragments[position].getTitle(); } private int getFragmentPosition(MyTabFragment fragment) { for (int i = 0; i < fragments.length; i++) { if (fragment.getClass().equals(fragments[i].getClass())) return i; } return -1; } // @Subscribe // public void onEvent(StateEvent event) { // Log.d(LOGTAG, "swap fragment event: " + event.getState()); // // switch (event.getState()) { // case PAUSED: // break; // case SCANNING: //// fragments[0] = new ScannerFragment(activity); // notifyDataSetChanged(); // break; // default: // fragments[0] = new WaterfallFragment(activity); // notifyDataSetChanged(); // } // // } }