近来有这个需求,滑动的ViewPager+Fragment可以给用户不错的体验,而且我们使用起来,也很方便,代码结构也很清晰。
使用起来有几个要点:
1.Activity 继承 android.support.v4.app.FragmentActivity。
public class DeviceListActivity extends FragmentActivity
2.你的 ContentView里要有一个ViewPager。
3.给ViewPager setAdapter()
mViewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager()));
getSupportFragmentManager()是FragmentActivity的方法。
4.这个PagerAdapter可根据需要来写,比如下边这个:
private class MyFragmentPagerAdapter extends FragmentPagerAdapter {
public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return mFragmentBuffer.get(position);
}
@Override
public int getCount() {
return mFragmentBuffer.size();
}
}
5. 这样就ok了,这种方式也有一定的弊端,大家可以自己找找-v-
这种方式的弊端就是,不可见的fragment会被destroy,可见时又会被instantiate,这样页面上展开的列表就又要重新加载了。
解决办法也很简单,重写FragmentPagerAdapter的destroyItem()方法,把super.destroyItem()去掉就好了。