我们在很多应用经常会看到一个页面中可以进行多页切换,其中一个实现办法就是使用ViewPager与Fragment。但在使用的过程中,我发现有这么一个现象,假设当前ViewPager一共有3个Fragment生成的页面,当默认加载的时候只加载了从左至右的两个Fragment。当滑动后才会加载第三个,然后滑动回来,第一个又被重新加载了。后来发现,我们初始化控件的时候一定要加上
- mViewPager.setOffscreenPageLimit(3); //一共加载3页,如果此处不指定,默认只加载相邻页
另外,我们在使用Fragment的适配器时,很多人喜欢加上下面的代码,其实我的理解这里和Activity之间使用Intent传值类似,有时候我们并不需要在初始化的时候传值,Fragment与其它控件交互可通过接口的方式。
- Bundle args = new Bundle();
- args.putString(ARGUMENTS_NAME, tabTitle[arg0]);
- System.out.println("fragment:"+arg0);
- ft.setArguments(args);