ViewPager中使用fragment用法
2015-08-04 09:32
411 查看
public class ViewPageFragment extends Fragment { private MyAdapter mAdapter; private ViewPager mPager; //为ViewPageFragment提供资源 private ArrayList<Fragment> pagerItemList = new ArrayList<Fragment>(); private View view; private Activity act; @Override @SuppressLint("InflateParams") public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (view == null) { view = inflater.inflate(R.layout.view_pager, null); mPager = (ViewPager) view.findViewById(R.id.pager); //mPager.setOffscreenPageLimit(4);//设置预加载页数为4,默认为2 pagerItemList.add(new HomePageFragment()); pagerItemList.add(new ShoperFragment()); pagerItemList.add(new GouWuCheFragment()); pagerItemList.add(new AboutMeFragment()); mAdapter = new MyAdapter(getFragmentManager()); mPager.setAdapter(mAdapter); mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { //滑动页面时的逻辑处理 } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int position) { } }); } ViewGroup parent = (ViewGroup) view.getParent(); if (parent != null) { parent.removeView(view); } return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); act = getActivity(); } public boolean isFirst() { if (mPager.getCurrentItem() == 0) return true; else return false; } public boolean isEnd() { if (mPager.getCurrentItem() == pagerItemList.size() - 1) return true; else return false; } public class MyAdapter extends FragmentPagerAdapter { public MyAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return pagerItemList.size(); } @Override public Fragment getItem(int position) { Fragment fragment = null; if (position < pagerItemList.size()) fragment = pagerItemList.get(position); else fragment = pagerItemList.get(0); return fragment; } } }
相关文章推荐
- iOS学习笔记4-xcode构建iOS app时为什么分version和build两个版本号
- PHPStorm下XDebug配置
- layout_weight参数的使用
- MDK4新手建立stm32工程易犯错误
- ORA-01114 ORA-01110 ORA-27091 ORA-27041 磁盘挂载问题
- AngularJS Tutorial(18)from w3school
- 说的特别好的一句话,送给每一个热爱编程的人
- Android进程与线程基本知识
- First Missing Positive
- AngularJS Tutorial(17)from w3school
- AngularJS Tutorial(16)from w3school
- gem5: 实现最后一级缓存LLC分区
- 创业之初需要的是人而不是钱
- SHell命令总结
- JSP的基本原理
- OKHttp源码解析(三)
- Node.js安装和入门
- 我们无法独立认证自我的存在,如同我们需要镜子才能看清自己的容貌一样,我们需借他人的赞叹而在心理上日益牢固我们的存在感。
- LINUX内核编译步骤详细介绍
- MFC的CFileDialog