XXXfragment that is not a fragment錯誤,fragment認不出來


時間 2014-06-05 11:10:59  CSDN博客android

原文  http://blog.csdn.net/modiziri/article/details/28600645app

主題 XML 安卓開發ui

要注意的是fragment實際上是有兩個版本的,一個是spa

import android.support.v4.app.Fragment; 
.net

另一個是blog

import android.app.Fragment; 
繼承

這兩個版本的fragment是不會兼容的。也就是說要不就全用fragment,要不就全用v4 fragment,不能混搭着用。開發

在這裏我強烈建議初學者用第二個,也就是簡單的fragment, 接下來我說說二者的區別你們就知道爲何了。get

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異常。 

由於這個標籤的使用仍是比較簡單的,因此仍是比較傾向前者