public class Fragment02 extends Fragment {
private TabLayout myTab;
private ViewPager viewPager;
private List<DataType> meuns;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate( R.layout.f2,container,false );
myTab = view.findViewById(R.id.myTab);
viewPager = view.findViewById(R.id.vp);
initMenus();
MyViewPager myViewPager = new MyViewPager( getChildFragmentManager() );
viewPager.setAdapter( myViewPager );
myTab.setupWithViewPager( viewPager );
viewPager.setOffscreenPageLimit( meuns.size() );
return view;
}
class MyViewPager extends FragmentPagerAdapter {
public MyViewPager(FragmentManager fm) {
super( fm );
}
@Override
public CharSequence getPageTitle(int position) {
return meuns.get( position ).getTitle();
}
@Override
public Fragment getItem(int position) {
TuiFragment tuiFragment = new TuiFragment();
Bundle bundle = new Bundle();
bundle.putString( "type",meuns.get( position ).getType() );
tuiFragment.setArguments( bundle );
return tuiFragment;
}
@Override
public int getCount() {
return meuns.size();
}
}
private void initMenus() {
meuns = new ArrayList<>();
meuns.add(new DataType("数据新闻","xbsjxw"));
meuns.add(new DataType("快讯","txs"));
meuns.add(new DataType("头条","toutiao"));
meuns.add(new DataType("精编公告","news/mobile/jbgg"));
meuns.add(new DataType("美股","news/mobile/mgxw"));
meuns.add(new DataType("港股","news/mobile/ggxw"));
meuns.add(new DataType("基金","news/mobile/jjxw"));
meuns.add(new DataType("理财","news/mobile/lcxw"));
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myTab"
app:tabGravity="center"
app:tabIndicatorColor="@color/colorAccent"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/colorPrimaryDark"
app:tabTextColor="@color/colorPrimary"></android.support.design.widget.TabLayout>
<!--viewPager组件-->
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vp"
android:layout_below="@+id/myTab"></android.support.v4.view.ViewPager>
</RelativeLayout>
public class DataType {
private String title;
private String type;
public DataType(String title, String type) {
this.title = title;
this.type = type;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}