package au.id.teda.broadband.usage.activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import au.id.teda.broadband.usage.R; import au.id.teda.broadband.usage.fragments.OffpeakUsageFragment; import au.id.teda.broadband.usage.fragments.PeakUsageFragment; import com.viewpagerindicator.TitlePageIndicator; /** * Activity holder for PeakUsageFragment * @author Ian Teda * */ public class UsageActivity extends BaseActivity { private UsageActivityAdapter mAdapter; private ViewPager mPager; private TitlePageIndicator mIndicator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Show home (up) button getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.activity_usage); mAdapter = new UsageActivityAdapter(getSupportFragmentManager()); mPager = (ViewPager)findViewById(R.id.activity_usage_pager); mPager.setAdapter(mAdapter); mIndicator = (TitlePageIndicator)findViewById(R.id.activity_usage_indicator); mIndicator.setViewPager(mPager); mIndicator.setTextColor(getResources().getColor(R.color.base_light)); mIndicator.setSelectedBold(true); mIndicator.setSelectedColor(getResources().getColor(R.color.base)); mIndicator.setFooterColor(getResources().getColor(R.color.accent)); mIndicator.setFooterIndicatorStyle(TitlePageIndicator.IndicatorStyle.Underline); } class UsageActivityAdapter extends FragmentPagerAdapter { private final String[] TAB_TITLES = new String[] { PeakUsageFragment.PAGE_TITLE, OffpeakUsageFragment.PAGE_TITLE }; private int mCount = TAB_TITLES.length; public UsageActivityAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position) { case 0: return new PeakUsageFragment(); case 1: return new OffpeakUsageFragment(); default: throw new IllegalArgumentException("not this many fragments: " + position); } } @Override public CharSequence getPageTitle(int position) { return TAB_TITLES[position % TAB_TITLES.length]; } @Override public int getCount() { return mCount; } public void setCount(int count) { if (count > 0 && count <= 10) { mCount = count; notifyDataSetChanged(); } } } }