ViewPager+Fragment
来源:互联网 发布:达德网络 编辑:程序博客网 时间:2024/05/17 00:05
这里用了ButterKnife,若没有了解过的可以使用findViewById。页面布局很简单,只有一个简单ViewPager,其余的fragment可以自己去实现。
@BindView(R.id.home_viewpager) ViewPager homeViewpager;private FragmentPagerAdapter adapter;private List<BaseFragment> fragments; @Override protected void init(Bundle savedInstanceState) { fragments = new ArrayList<>(); fragments.add(FragmentFactory.createFragment(Fragment1.class.getName())); fragments.add(FragmentFactory.createFragment(Fragment2.class.getName())); fragments.add(FragmentFactory.createFragment(Fragment3.class.getName())); adapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } }; homeViewpager.setAdapter(adapter); }
这样就完成了viewpager+fragment了。这里通过抽象工厂的方式来实例化fragment,其实也可以直接new一个fragment。
抽象工厂的方法如下。PS:BaseFragment请自行封装。
public class FragmentFactory { public static <T extends BaseFragment> T createFragment(String className) { return createFragment(className, null); } public static <T extends BaseFragment> T createFragment(String className, Bundle content) { BaseFragment fragment = null; try { fragment = (BaseFragment) Class.forName(className).newInstance(); if (content != null) { fragment.setArguments(content); } } catch (Exception e) { Log.e("TAG", "创建fragment异常"); } return (T) fragment; }}
0 0
- Fragment+ViewPager
- Viewpager&Fragment
- viewpager + fragment
- viewpager+fragment
- viewpager+fragment
- ViewPager+Fragment
- viewPager+fragment
- ViewPager+Fragment
- ViewPager+Fragment
- viewpager+fragment
- Fragment+ViewPager
- ViewPager+Fragment
- Fragment+ViewPager
- viewpager fragment
- Fragment+ViewPager
- viewpager +Fragment
- viewpager+fragment
- Viewpager+fragment
- div style常用属性介绍及使用示例
- myeclipse2015修改web项目部署名
- 数据存储:从pickle到sqlite 《Head First Python》第九章
- oj-1-蛇形填数
- Android中的几种内存泄露情况总结
- ViewPager+Fragment
- 1029. Median (25)
- myblog 目录
- 有放回抽签求和解法的层层优化
- hello world
- 【Maven】项目打包-war包-Jar包[IDEA将项目打成war包]
- 飞行员配对方案问题 洛谷2756 网络流
- 设计模式-适配器模式
- C++面试典型题之字符和数值