热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

viewPager镶嵌fragment报StackOverflowError

这个异常是堆栈溢出今天在写一个viewpager+fragment实现左右切换时出现这个问题,原因就是在Fragment中@OverridepublicViewonCreateView(L

这个异常是堆栈溢出

今天在写一个viewpager+fragment实现左右切换时出现这个问题,原因就是在Fragment中

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

View view=inflater.inflate(R.layout.fragment_demo, container);

return view;

}

inflate里面把ViewGroup传进去了,因为每一个View只能有一个父view即parentView。当container不为空时,比如此fragment所待在的activity的layout。而onCreateView中返回的view是给ViewPager使用的,所以就会出现这个view有两个parentView-即activity的layout和viewPager,所以会报出异常。只要如下解决即可:

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

View view=inflater.inflate(R.layout.fragment_demo, null);

或者这样写

inflater.inflate(R.layout.community,container,false)

return view;

}

infalte的时候把ViewGroup参数设置为null,view的parentView是ViewPager,ViewPager的parentView是activity的layout。


推荐阅读
author-avatar
长大的夜夜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有