activity fragment viewpager的总结
来源:互联网 发布:linux 别名 编辑:程序博客网 时间:2024/05/22 10:37
有一段时间对Android使用viewpage和fragment有点混乱 特此整理一下
1、activity 直接包裹fragment
1)在layout中直接加入2)使用Fragmentmanager fm 动态添加
fm有 add remove replace hide方法对fragment控制
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();
2、activity中使用viewpager 切换view
viewpager使用的adapter是继承自pageAdapter
至少覆盖以下方法
/**这个方法,return一个对象,这个对象表明了
PagerAdapter适配器选择哪个对象放在当前的ViewPager中**/
instantiateItem(ViewGroup, int)
/**这个方法,是从ViewGroup中移出当前View**/
destroyItem(ViewGroup, int, Object)
/**这个方法,是获取当前窗体界面数**/
getCount()
/**这个方法,在帮助文档中原文是could be implemented as return view == object,*也就是用于判断是否由对象生成界面**/
isViewFromObject(View, Object)
3、activity中使用viewpager 切换fragment
viewpager使用的adapter是继承自FragmentPagerAdapter或FragmentStatePagerAdapter
这两个的区别是FragmentStatePagerAdapter只保留当前页面,当页面离开视线后,就会被消除,释放其资源;在页面需要显示时,生成新的页面
在adapter中使用的data是FragmentList
需要重写的方法比2中的少一点
@Override
public int getCount()
{
return mFragments.size();
}
@Override
public Fragment getItem(int arg0)
{
return mFragments.get(arg0);
}
存在的问题FragmentPagerAdapter刷新无效果
解决方案
public Object instantiateItem(ViewGroup container, int position) {CarTypeInfoFragment f = (CarTypeInfoFragment)super.instantiateItem(container, position);
if(!QArrays.isEmpty(mRecList) && position >=0 && position < mRecList.size()){
CarTypeListMinPriceResult.CarTypeMinPrice p = mRecList.get(position);
if(p != null){
f.resetFragmentData(p);
}
}
return f;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
附上几个解决方案
http://blog.csdn.net/z13759561330/article/details/40737381
http://www.blog4app.com/?p=62
0 0
- activity fragment viewpager的总结
- ViewPager+Fragment引起的错误:No Activity
- ViewPager+Fragment引起的错误:No Activity
- activity- (ViewPager)--->Fragment
- Android Activity+ViewPager(Fragment)+Fragment
- Fragment与Viewpager、Fragment与Activity的交互startActivityForResult
- Fragment、Activity的知识点总结
- Activity+fragment+ViewPager方法调用
- ViewPager + Fragment 用法总结
- ViewPager+Fragment研究总结
- 关于Activity中的Viewpager中的Fragment的生命周期
- 在Activity内ViewPager的自动轮播+Fragment切换
- Activity与fragment之间的交互总结
- Activity,Fragment,Service的生命周期总结
- Android同一Activity中不同Fragment设置不同的menu(ViewPager+Fragment)
- Activity、Fragment启动总结
- TabHost fragment 和 Viewpager 总结
- 关于fragment、ActionBar与ViewPager的一些总结
- JNI从0到1源码
- 实现bootstrap的dropdown-menu(下拉菜单)点击后不关闭的方法
- 总结一下最近面试遇到的一些问题吧
- hrbust 1679 跑步【最小生成树相关】
- Log4j、Log4j 2、Logback、SFL4J、JUL、JCL的比较
- activity fragment viewpager的总结
- Problem C: 星球联盟(并查集+lca)
- [转]Uboot对Ext4文件系统的支持
- effective stl 第36条:理解copy_if的正确实现
- icpc大连栈
- python pil安装
- 1096. Consecutive Factors
- 排列组合问题初步
- NOIP历年搜索整理