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" />


 

 

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



 


 

 


 

 


 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。