当前位置: 代码迷 >> Android >> android.support.v4.app.Fragment 跟 android.app.Fragment区别
  详细解决方案

android.support.v4.app.Fragment 跟 android.app.Fragment区别

热度:559   发布时间:2016-04-28 03:22:44.0
android.support.v4.app.Fragment 和 android.app.Fragment区别

 

今天在公司遇到一个android.app.Fragment 和android.support.v4.app.Fragment 的问题。

 

 

(1)android.app.Fragment:兼容的最低版本是android:minSdkVersion="11"因此你的应用不能兼容3.0以下的应用。

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

 

 

(2)android.support.v4.app.Fragment:可以兼容到1.6的版本,不能使用<fragment>标签,需要在程序中通过add或者replace的方式添加,同时还需要

android-support-v4.jar

 

 

 

两个Fragment的Manager 获取注意的方式也不一样

 

第一个android.app.Fragment 的布局方式         ---- Manager        getFragmentManager     //得到manager

 

 

 

 <fragment        android:id="@+id/fragment1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />

 

第二个android.support.v4.app.Fragment的方式      主Activity 必须继承  FragmentActivity   --------- Manager        getSupportFragmentManager  得到的Manager

 注意导入的包

第一种方式布局         

 <fragment        android:id="@+id/fragment1"        <span style="color:#ff0000;"><strong>android:name="com.text.fragment"</strong></span>        android:layout_width="wrap_content"        android:layout_height="wrap_content" />

 

注意上面的name 是你子fragment的路径地址

 

第二种方式布局

 

    <FrameLayout        android:id="@+id/fragment1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />


 

 

两种不能混合使用特别注意。希望有帮助。



 


 

 


 

 


 

  相关解决方案