博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fragment中TabLayout加FragmentViewPager
阅读量:5234 次
发布时间:2019-06-14

本文共 2706 字,大约阅读时间需要 9 分钟。

首先是依赖包

compile 'com.android.support:design:23.4.0'

这是要放TabLayout的Fragment

这是Fragment:

public class ZhuyeMyFragment extends Fragment{    private String[] mTitle = new String[4];    private String[] mData = new String[4];    {        for(int i=0;i<4;i++) {            mTitle[i] = "title" + i;            mData[i] = "data" + i;        }    }    TabLayout mTabLayout ;    ViewPager mViewPager ;    FragmentPagerAdapter mAdapter;    Zhuti zt;    Zuixin zx;    Zl zl;    Rm rm;    ArrayList
flist; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.zhuye_layout,null); mTabLayout = (TabLayout)view.findViewById(R.id.tl); mViewPager = (ViewPager)view.findViewById(R.id.viewpager); FragmentManager man = getActivity().getSupportFragmentManager(); initFragment(); flist=new ArrayList
(); flist.add(zx); flist.add(zl); flist.add(rm); flist.add(zt); mTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { mViewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); final TabLayout.TabLayoutOnPageChangeListener listener = new TabLayout.TabLayoutOnPageChangeListener(mTabLayout); mViewPager.addOnPageChangeListener(listener); mAdapter= new FragmentAdapter(man,flist); mViewPager.setAdapter(mAdapter); mTabLayout.setTabsFromPagerAdapter(mAdapter); return view; } private void initFragment() { zt=new Zhuti(); zx=new Zuixin(); zl=new Zl(); rm=new Rm(); }}

这是FragmentAdapter:

public class FragmentAdapter extends FragmentPagerAdapter {    private String [] title = {
"最新日报","热门","专栏","主题日报"}; private List
fragmentList; public FragmentAdapter(FragmentManager fm, List
fragmentList) { super(fm); this.fragmentList = fragmentList; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } @Override public CharSequence getPageTitle(int position) { return title[position]; }}

 

转载于:https://www.cnblogs.com/cainiaodongdong/p/7731586.html

你可能感兴趣的文章
如何破解域管理员密码
查看>>
Windows Server 2008 R2忘记管理员密码后的解决方法
查看>>
IE11兼容IE8的设置
查看>>
windows server 2008 R2 怎么集成USB3.0驱动
查看>>
Foxmail:导入联系人
查看>>
vue:axios二次封装,接口统一存放
查看>>
vue中router与route的区别
查看>>
js 时间对象方法
查看>>
网络请求返回HTTP状态码(404,400,500)
查看>>
Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
查看>>
Mac下使用crontab来实现定时任务
查看>>
303. Range Sum Query - Immutable
查看>>
图片加载失败显示默认图片占位符
查看>>
【★】浅谈计算机与随机数
查看>>
《代码阅读方法与实现》阅读笔记一
查看>>
解决 sublime text3 运行python文件无法input的问题
查看>>
javascript面相对象编程,封装与继承
查看>>
Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
查看>>
Java中正则表达式的使用
查看>>
算法之搜索篇
查看>>