Skip to content

Instantly share code, notes, and snippets.

@YvesBill
Created March 8, 2017 09:54
Show Gist options
  • Save YvesBill/f75b6cf492ff1d0130e211657e810604 to your computer and use it in GitHub Desktop.
Save YvesBill/f75b6cf492ff1d0130e211657e810604 to your computer and use it in GitHub Desktop.
A Fragment which has 3 Tabs within a ViewPager
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment; //Ogni classe deve appartenere al support.v4
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class myTabFrame extends Fragment {
CoordinatorLayout rootLayout;
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.your_layout, container, false);
setHasOptionsMenu(true);
ViewPager mViewPager = (ViewPager) view.findViewById(R.id.viewPager);
mViewPager.setAdapter(new MyAdapter(getChildFragmentManager()));
TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
rootLayout = (CoordinatorLayout)view.findViewById(R.id.coordinatorLayout);
return view;
}
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return 3;
}
@Override
public Fragment getItem(int position) {
switch(position){
case 0:
return new Tab0();
case 1:
return new Tab1();
case 2:
return new Tab2();
}
return null;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Title0";
case 1:
return "Title1";
case 2:
return "Title2";
}
return null;
}
}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment