MainActivity
public class MainActivity extends AppCompatActivity {
private TabLayout myTab;
private ViewPager viewPager;
private List<String> lists;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTab = findViewById(R.id.mytab);
viewPager = findViewById(R.id.vp);
initData();
//添加标签 viewpager的适配器 中返回
//设置适配器
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
//将tabLayout组件与viewPager组件进行关联
myTab.setupWithViewPager(viewPager);
}
private void initData() {
lists=new ArrayList<>();
lists.add("推荐0");
lists.add("推荐1");
lists.add("推荐2");
// lists.add("推荐3");
// lists.add("推荐4");
// lists.add("推荐5");
// lists.add("推荐6");
// lists.add("推荐7");
}
class MyAdapter extends FragmentPagerAdapter{
public MyAdapter(FragmentManager fm) {
super(fm);
}
//返回页面的标题--tabLayout的标签
@Override
public CharSequence getPageTitle(int position) {
return lists.get(position);
}
@Override
public Fragment getItem(int position) {
Contentfragment contentfragment=new Contentfragment();
//传值
Bundle bundle=new Bundle();
bundle.putString("data",lists.get(position));//每次得到菜单的值
contentfragment.setArguments(bundle);
return contentfragment;
}
@Override
public int getCount() {
return lists.size();
}
}
}
Contentfragment
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.content,container,false);
TextView textView=v.findViewById(R.id.tv);
//接收参数
Bundle arguments = getArguments();
String data = arguments.getString("data");
textView.setText(data);
}
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
}