XXXfragment that is not a fragment错误,fragment认不出来

要注意的是fragment其实是有两个版本的,一个是

import android.support.v4.app.Fragment;

另外一个是

import android.app.Fragment;

这两个版本的fragment是不会兼容的。也就是说要不就全用fragment,要不就全用v4 fragment,不能混搭着用。

在这里我强烈建议初学者用第二个,也就是简单的fragment,接下来我说说两者的区别大家就知道为什么了。

1.最低支持版本不同

android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版

android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="4" 即1.6版

2.需要导jar包

fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar

3.在Activity中取的方法不同

android.app.Fragment使用 (ListFragment)getFragmentManager().findFragmentById(R.id.userList)  获得  ,继承Activity(这个仅仅需要继承自最简单的activity)

android.support.v4.app.Fragment使用 (ListFragment)getSupportFragmentManager().findFragmentById(R.id.userList) 获得 ,需要继承android.support.v4.app.FragmentActivity

4.我感觉最重要的,是XML标签的使用

android.app.Fragment可以使用<fragment>标签的,这点很重要,如果是用android.support.v4.app.Fragment的话,是不能是用<fragment>标签的,会抛出android.view.InflateException:
Binary XML file line #7: Error inflating class fragment异常。

因为这个标签的使用还是比较简单的,所以还是比较倾向前者

XXXfragment that is not a fragment错误,fragment认不出来,布布扣,bubuko.com

时间: 2024-10-06 11:38:01

XXXfragment that is not a fragment错误,fragment认不出来的相关文章

【剑灵攻略】003、XXXfragment that is not a fragment错误,fragment认不出来

要注意的是fragment其实是有两个版本的,一个是 import android.support.v4.app.Fragment; 另外一个是 import android.app.Fragment; 这两个版本的fragment是不会兼容的.也就是说要不就全用fragment,要不就全用v4 fragment,不能混搭着用. 在这里我强烈建议初学者用第二个,也就是简单的fragment,接下来我说说两者的区别大家就知道为什么了. 1.最低支持版本不同 android.app.Fragment

no view for id xxx for fragment错误

用tabhost时,动态添加fragment,从网上找了好多处理结果,有的说clean一下工程,有的说是布局错误,整了半天都不行.结果是在fragment中   返回的view   View v=inflater.inflate(R.layout.fragment2, container);这个方法需要三个参数才行,添加最后一个参数 View v=inflater.inflate(R.layout.fragment2, container,false);才可以正常运行.no view for i

解决 viewpager fragment 切换 Fragment被销毁的问题

当我们用FragmentViewPagerAdapter和ViewPager来完成滑动切换选项卡时,效果非常不错,但是后来遇到一个问题,FragmentA切换到FragmentB,再滑到FragmentC时,FragmentA的状态数据已经不予保存了,再次滑动到FragmentB时,FragmentA的oncreateView方法会重新调用,如果有网络请求,将会是非常蛋疼,在网上找了半天,最后看到viewpager中有个这样的方法setOffscreenPageLimit,设置为2,然后再一试,

搭建Activity与Fragment,Fragment与Fragment之间的通信架构

内心独白:  曾几何时但凡听到架构之两个字,总能联想到老子说的一句话:"玄之又玄,众妙之门".说不清,道不明.就像是看不见,摸不着,但又真实存在的东西给我们的那种感觉. 回顾人类的历史,繁重的劳动让我们意识到工具的必要性和重要性,并学会了去发明和使用工具.当我进行了大量的,甚至是繁重的编程之后,也开始重新意识到架构的必要性和重要性.当然软件工程发展了这么多年,构架与模式之类的东西前辈们早就说过并且践行与呼吁过,并且也留下了很多值得我们学习和研究的构架模式.但于我个人而言,在没有经历过痛

activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI

今天遇到挺纠结的问题,由于产品设计的问题,技术上涉及到activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI. 其中一级fragment中有顶部搜索栏,搜索栏下面有viewpager+fragment的布局,搜索栏输入内容后要更新子当前页面的fragment的搜索方法,并刷新UI. adapter: private class OrderManagerFragmentPagerAdapter extend

TabActivity 、fragemnt+fragment 和 Fragment+Viewpager 优缺点

1 TabActivity : 1 过时了 . 2 activity . 是作为android的四大组件... 重量级的家伙 ViewGroup   : 特别麻烦.... 2  viewpage  : 1简单 ...直接设置当前界面 ViewGroup是子类...view 轻量级别的小控件 fragment +viewpager 3. fragment    : fragment + fragment 1 当我们在用V4包的时候...android.support.v4.app ,系统默认给我们

Android fragment嵌套fragment问题解决方案

都说fragment好用,duang~~,又遇到问题了,记录一下,分享给遇到这个问题的同学! 1.fragment嵌套fragment时出现getActivity()为null activity A嵌套fragment B,B嵌套fragment C,C跳转到activity D,当activity D被finish掉之后,C中容易爆出getActivity为空.如果你的activity被回收了,那你需要在bundle中保存一下fragment信息,我的解决方法:fragment实例化之后会到a

RadioGroup+Fragment 使用Fragment的add()方法,防止使用replace每次都重新加载页面,造成资源浪费

radiogroup+fragment是很常用的主页导航控件,之前为了代码简便一直使用的replace()替换fragment,代码如下: getSupportFragmentManager().beginTransaction().replace(R.id.framlayout,fragment).commit(); 这种方法使用起来方便,但最大的问题是,每次执行都会把之前的fragment队列中的所有fragment对象全部清除,然后重新加载一个新的fragment进去,相当于使用remov

Fragment嵌套Fragment要用getChildFragmentManager

Fragment嵌套Fragment要用getChildFragmentManager. 遇到一个问题,Fragment放ViewPager,ViewPager里面是fragment.第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,数据丢失. 用的FragmentPagerAdapter.打Log发现FragmentPagerAdapter的getItem也不会调用,一直找不出原因.翻网上的回复终于找到答案. 本来里面的fragment用的还是getFragmen