在ViewPager+Fragment实现Tabhost基础之上实现滑动到当前Fragment加载网络数据
2014-10-18 16:07
543 查看
处女贴,欢迎拍砖!!!
关于ViewPager+Fragment实现Tabhost相信大家都会了,网上资源很多,感谢开源!!!本文主要是实现滑动到当前Fragment加载网络数据。
1、实现Tabhost就不在这赘述了,如有需求请留言
2、setOffscreenPageLimit()方法是关键
好了,进入正题,首先实现滑动到当前Fragment加载网络数据,看下面代码:该Activity为fragment宿主,主要是定义了一个变量item来标示当前界面跟设置预加载界面
关于ViewPager+Fragment实现Tabhost相信大家都会了,网上资源很多,感谢开源!!!本文主要是实现滑动到当前Fragment加载网络数据。
1、实现Tabhost就不在这赘述了,如有需求请留言
2、setOffscreenPageLimit()方法是关键
好了,进入正题,首先实现滑动到当前Fragment加载网络数据,看下面代码:该Activity为fragment宿主,主要是定义了一个变量item来标示当前界面跟设置预加载界面
public class MainAct1 extends BaseActivity{ private long exitTime = 0; private ViewPager mVp = null; private List<Fragment> fragments = null; private FragmentViewPagerAdapter mAdapter = null; private RadioButton[] mFootButtons = null; private LinearLayout mFootLayout = null; //当前pager界面 public int item = 0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main1); fragments = new ArrayList<Fragment>(); fragments.add(Fragment1.getInstance()); fragments.add(Fragment2.getInstance()); fragments.add(Fragment3.getInstance()); initView(); setCurrentPager(0); } @Override protected void initView() { // TODO Auto-generated method stub mFootLayout = (LinearLayout)getView(R.id.main_linearlayout_footer); initFootBar(); mVp = (ViewPager)getView(R.id.viewpager); //设置预加载3个界面 mVp.setOffscreenPageLimit(3); mAdapter = new FragmentViewPagerAdapter(getSupportFragmentManager(), mVp, fragments); mAdapter.setOnExtraPageChangeListener(new FragmentViewPagerAdapter.OnExtraPageChangeListener(){ @Override public void onExtraPageSelected(int i) { // TODO Auto-generated method stub super.onExtraPageSelected(i); setCurrentPager(i); } }); } public int getItem() { return mVp.getCurrentItem(); }在Fragment中我们重写onResume()方法,在该方法中执行加载数据方法,(默认加载Fragment1 ,ViewPager默认item为0,所以当item为1时,当前显示是Fragment2)
@Override public void onResume() { // TODO Auto-generated method stub super.onResume(); //当当前界面为1且保存数据的集合为空时执行 if(((MainAct1)getActivity()).getItem() == 1 && mDatas.size() == 0){ getData4Service(); } Log.i("tag", "onResume"); }好了小伙伴们,大功告成,是不是很简单?赶快试试吧!(大家可以把宿主Activity中的setOffscreenPageLimit(3)改为setOffscreenPageLimit(1)当你直接跳到第三个Fragment的时候会有意外惊喜!!!)
相关文章推荐
- 网络判断+xlistview上拉加载、下拉刷新+Tablayout +图片拖拽缩放+数据库存储 3、案例完成思路要求: 模块一:用fragment+viewpager+Tablayout实现页面
- ViewPager实现TabHost动态添加、删除Fragment,用红色小圆球指示当前页面
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- ViewPager+Fragment 的左右滑动,如何实现Fragment 的懒加载
- 简单一步实现ViewPager滑动到指定页加载数据
- 【Android】 Viewpager+Fragment实现滑动图片的动态加载
- ViewPager+Fragment实现TabHost,Fragment动态添加、删除,Tab选项卡跟随滑动
- 用viewpager实现网络图片的加载并滑动
- android viewpager使用Fragment懒加载,滑到当前fragment才进行数据加载
- 实现Fragment数据的缓加载,即滑动到当前页再加载数据
- FragmentTabHost+ViewPager实现滑动的底部导航栏
- 基于android的网络音乐播放器-添加viewpager和fragment实现滑动切换多个界面(二)
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- viewpager嵌套fragment,滑动别的fragment之后,之前的fragment数据重新加载,恢复默认了
- ViewPager+Fragment实现TabHost,Fragment动态添加、删除,Tab选项卡跟随滑动
- 使用RadioGroup+ViewPager+Fragment实现带滑动的页卡效果TabHost时遇到的问题
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- android FragmentTabhost+ViewPager实现可滑动的标签页
- Fragment+ViewPager滑动,网络恢复时滑动刷新Fragment数据
- ViewPager实现TabHost动态添加、删除Fragment,用红色小圆球指示当前页面