码迷,mamicode.com
首页 > 移动开发 > 详细

android.app.FragmentManager 与 android.support.v4.app.FragmentManager带来的若干Error

时间:2017-04-17 12:25:47      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:osc   type   模块化   bin   hit   erro   new   cte   imp   

        Fragment是activity的界面中的一部分或一种行为。你能够把多个Fragment们组合到一个activity中来创建一个多面界面而且你能够在多个activity中重用一个Fragment。你能够把Fragment觉得模块化的一段activity,它具有自己的生命周期,接收它自己的事件。并能够在activity执行时被加入或删除。

        一个好的帖子:http://my.oschina.net/u/270164/blog/85347。

        使用Fragment的包为android.app.FragmentManager可是因为其对3.0下版本号不兼容,所以要 引入android.support.v4.app.FragmentManager 两个包对Fragment同样方法的定义有所不同,因此在import时,常常easy混淆导致程序报错。以下就来总结下:

       1、编译无错误,执行时报错:android.view.InflateException: Binary XML file line #7: Error inflating class fragment

出现了上述错误,原因往往是你在某个.xml文件使用了<fragment>标签,但相应的xx.java文件里import的却是android.support.v4.app.Fragment。android.support.v4.app.Fragment:能够兼容到1.6的版本号,不能使用<fragment>标签,须要在程序中通过add或者replace的方式加入。

       2、编译错误:

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
public class MainActivity extends FragmentActivity {
    public static FragmentManager childFm;
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         childFm=getSupportFragmentManager();
        FragmentTransaction ft=childFm.beginTransaction();
        Frag1 f1=new Frag1();
        ft.add(f1,"第一").commit();
    }
}

代码如上。在add处提示:The method add(Fragment, String) in thetype FragmentTransaction is not applicable for the arguments (Frag1, String)。

原因:我的Frag1.java中。import的包是 android.app.Fragment所以报错。

改成import android.support.v4.app.Fragment;就好了。

3、此外,在调用Activity时,包为 android.support.v4.app.FragmentActivity的类,都extends的是FragmentActivity而不是Activity。



android.app.FragmentManager 与 android.support.v4.app.FragmentManager带来的若干Error

标签:osc   type   模块化   bin   hit   erro   new   cte   imp   

原文地址:http://www.cnblogs.com/brucemengbm/p/6722328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!