package com.alorma.github.ui.fragment.base; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.FragmentManager; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.alorma.github.R; public abstract class BasePagerFragment extends BaseFragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); return getThemedLayoutInflater(inflater).inflate(R.layout.general_pager, null, false); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabStrip); ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager); PagerAdapter pagerAdapter = provideAdapter(getChildFragmentManager()); viewPager.setAdapter(pagerAdapter); viewPager.setOffscreenPageLimit(pagerAdapter.getCount()); tabLayout.setupWithViewPager(viewPager); } @Override public void onResume() { super.onResume(); getActivity().setTitle(getTitle()); } protected abstract PagerAdapter provideAdapter(FragmentManager fm); }