【问题标题】:Difference between android.support.v4.app.FragmentManager and android.app.FragmentManager;android.support.v4.app.FragmentManager 和 android.app.FragmentManager 的区别;
【发布时间】:2014-06-26 11:35:37
【问题描述】:

我在创建片段时遇到了问题。在我的 mainActivity 中,我调用了这个片段..

Fragment fr = new Article();

FragmentManager fm = getFragmentManager();

FragmentTransaction fragmentTransaction = fm.beginTransaction();

fragmentTransaction.replace(R.id.container, fr);

fragmentTransaction.addToBackStack(null);

fragmentTransaction.commit();

但它没有显示,因为我必须添加一个 supprot.v4 和

,而不是给定两个导入
import android.app.FragmentManager;//correct one
import android.app.FragmentTransaction;

import android.support.v4.app.FragmentManager;// wrong one..
import android.support.v4.app.FragmentTransaction;

在片段类中我必须导入这个

import android.app.Fragment;
//instead of the given below..
import android.support.v4.app.Fragment;

知道问题已经解决了。但我很好奇它们之间的区别。以及使用片段的更好方法是什么。我创建了一个

MainActivity which extends Activity 在那个课程中,我正在展示片段。

我的一位同事告诉我从 Fragment 扩展 mainActivity。否则我将不得不面对很多问题。告诉我哪个是正确的使用方法。或者在使用Fragments时从Activity扩展mainActivity有什么好处或坏处...

提前致谢..

【问题讨论】:

    标签: android android-fragments android-activity fragmentmanager


    【解决方案1】:

    内普斯特,这是个好问题。

    两者之间的主要区别在于android.app.Fragment 在创建之前不提供对设备的支持。所以只实现FragmentActivity 会很好。

    但是,如果您想支持回到 Android 2 的手机,则需要使用 android.support.app.Fragment。如果您需要,这很容易做到,如果您不知道需要支持哪些设备,最好通过提供支持来覆盖您的基础。

    FragmentActivity和Activity的区别在于FragmentActivity允许你使用getSupportLoaderManager()和getSupportFragmentManager(),而Activity使用getLoaderManager()和getFragmentManager()。是优点还是缺点取决于你是否需要与 FragmentActivity 关联的支持库。这是唯一的区别,FragmentActivity 允许您使用支持库。

    【讨论】:

    • 回答我剩下的问题?
    • 我已经更新了我的答案,以回应似乎是“休息”的内容,但我不完全确定到底缺少了什么。
    猜你喜欢
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    相关资源
    最近更新 更多