Android片段:扩展活动类时支持库崩溃

Android片段:扩展活动类时支持库崩溃,android,android-fragments,Android,Android Fragments,我现在正在学习android开发,我遇到了fragment类 在这里,我发现我们可以为片段类使用两个导入,即 android.support.v4.app.Fragment:也可以用于API=11 然而,我发现当我在活动中使用支持片段时,当我扩展活动时,它崩溃了。当我扩展FragmentActivity或ActionbarActivity时,支持片段工作正常。 请帮助我理解为什么会发生这种情况。您必须选择是否使用支持库中的类。如果这样做,则必须使用彼此兼容的类FragmentActivity和A

我现在正在学习android开发,我遇到了fragment类

在这里,我发现我们可以为片段类使用两个导入,即

  • android.support.v4.app.Fragment:也可以用于API<11
  • android.app.Fragment:仅用于API>=11
  • 然而,我发现当我在活动中使用支持片段时,当我扩展活动时,它崩溃了。当我扩展FragmentActivityActionbarActivity时,支持片段工作正常。


    请帮助我理解为什么会发生这种情况。

    您必须选择是否使用支持库中的类。如果这样做,则必须使用彼此兼容的类
    FragmentActivity
    ActionBarActivity
    是支持库的一部分,因此它们支持
    android.support.v4.app.Fragment
    <代码>活动不是来自支持库,因此它支持
    android.app.Fragment


    基本上,
    Activity
    ActionBarActivity
    做同样的事情。这两种方法之间有一些细微的区别,主要的区别是
    Activity
    中的方法
    getFragmentManager()
    被支持库中的
    getSupportFragmentManager()
    所取代。其他不同的方法通常在
    ActionBarActivity
    中前缀为“support”

    其简单的
    ActionBarActivity
    扩展了
    fragmentActivity
    ,该方法用于处理
    片段,但活动是基本的活动类型,它主要用于一种视图类型的事物,另外,您在正常的
    活动中没有
    getSupportFragmentManager
    ,该活动处理
    android.support.v4.app.Fragment
    也请参阅以获取有关该主题的更多信息抱歉,由于代表性较低,我无法对您的答案进行投票。感谢您的帮助。请再告诉我一件事。用什么更好?我个人的意见是,我应该使用本机库,因为目前世界上大多数手机的API>=11。如果你认为我错了,请纠正我。很高兴我能帮忙,不要担心投票,我这样做不是为了名誉;)您应该使用哪一个主要取决于细节,例如,如果您需要使用嵌套片段,则使用API 17+或支持库。你也必须考虑你的市场:你的(未来)用户来自Android 2.3仍然有一些用途的市场吗?如果是这样,就没有办法绕过支持库。相关链接。