package com.xda.one.ui; import com.xda.one.R; import com.xda.one.ui.widget.TabLayout; import com.xda.one.util.UIUtils; import android.app.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 android.support.v7.app.ActionBar; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class SubscribedPagerFragment extends Fragment implements SubscribedForumFragment.Callback { private Callback mCallback; @Override public void onAttach(Activity activity) { super.onAttach(activity); mCallback = (Callback) activity; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.subscribed_fragment, container, false); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); final ActionBar bar = UIUtils.getSupportActionBar(getActivity()); bar.show(); bar.setTitle(R.string.subscribed); bar.setSubtitle(null); final SubscribeFragmentAdapter fragmentAdapter = new SubscribeFragmentAdapter (getChildFragmentManager()); final ViewPager pager = (ViewPager) view.findViewById(R.id.subscribed_view_pager); pager.setAdapter(fragmentAdapter); final TabLayout tabLayout = (TabLayout) view .findViewById(R.id .pager_tab_strip); tabLayout.setSelectedIndicatorColors(getResources().getColor(android.R.color .white)); tabLayout.setViewPager(pager); } @Override public void switchCurrentlyDisplayedFragment(final Fragment fragment, final boolean backStackAndAnimate, final String title) { mCallback.switchCurrentlyDisplayedFragment(fragment, backStackAndAnimate, title); } public interface Callback { public void switchCurrentlyDisplayedFragment(final Fragment fragment, final boolean backStackAndAnimate, final String title); } private class SubscribeFragmentAdapter extends FragmentPagerAdapter { private static final int TAB_COUNT = 2; private SubscribedForumFragment mSubscribedForumFragment; private ThreadFragment mSubscribedThreadFragment; public SubscribeFragmentAdapter(final FragmentManager fm) { super(fm); mSubscribedForumFragment = new SubscribedForumFragment(); mSubscribedThreadFragment = ThreadFragment.createSubscribed(); } @Override public Fragment getItem(int i) { switch (i) { case 0: return mSubscribedForumFragment; case 1: return mSubscribedThreadFragment; default: throw new UnsupportedOperationException(); } } @Override public CharSequence getPageTitle(int position) { switch (position) { case 0: return getString(R.string.forums); case 1: return getString(R.string.threads); default: return super.getPageTitle(position); } } @Override public int getCount() { return TAB_COUNT; } } }