<MainActivity>
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { TabLayout tab = (TabLayout) findViewById(R.id.tab); ViewPager vp = (ViewPager) findViewById(R.id.vp); //传入我们自定义的pageadapter vp.setAdapter(new Mypageradapter(getSupportFragmentManager())); //将viewpager和tablayout关联 tab.setupWithViewPager(vp); } }<MyFragment>
public class MyFragment extends Fragment{ private TextView tv_fragment; private String text; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle arguments = getArguments(); text = arguments.getString("text"); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.myfragment,container,false); tv_fragment = (TextView) inflate.findViewById(R.id.tv_fragment); tv_fragment.setText(text); return inflate; } }<MyPageradapter>
public class Mypageradapter extends FragmentPagerAdapter { //创建数组 用来放标题 private String[] titles = {"推荐", "热点", "北京", "视频", "军事娱乐", "热点", "北京", "视频", "军事娱乐"}; //创建集合 private List<Fragment> mFragments = new ArrayList<>(); //这个为开启事物 private FragmentManager mfragmentManager; public Mypageradapter(FragmentManager fm) { super(fm); mfragmentManager=fm; } @Override public Fragment getItem(int position) { //new对应的Fragment MyFragment myFragment = new MyFragment(); Bundle bundle = new Bundle(); bundle.putString("text",titles[position]); myFragment.setArguments(bundle); return myFragment; } @Override public int getCount() { return titles==null? 0 : titles.length; } //设置TableLayout中的每个tab的标题 @Override public CharSequence getPageTitle(int position) { return titles[position]; } }