从活动中调用自定义片段

时间:2016-11-14 22:27:44

标签: java android-fragments

我创建自己的片段,我想从我的活动中激活。我的mainActivity文件是纯Activity(不是FragmantActivity或其他任何东西)。为什么我不能将自定义片段用作参数?

if (savedInstanceState == null) {
        // Add the fragment on initial activity setup
        myFragment = new CustomFragment();
        getFragmentManager()
        .beginTransaction()
                .add(android.R.id.content, myFragment )
                .commit();

我收到编译错误,告诉我.add()方法的第二个参数必须是Fragment,但'myFragment'是一个派生Fragment类的CustomFragment。那么如何从正常的Activity激活这个片段?

1 个答案:

答案 0 :(得分:0)

确保您与Fragment导入保持一致。在所有类中使用import android.app.Fragment或导入android.support.v4.app.Fragment;在所有课程中。不要混合搭配

FragmentActivity或FragmentActivity的任何子类只能从支持库中保存片段。因此,将您的活动的父类更改为FragmentActivity,它将起作用。由于AppCompatActivity继承自FragmentActivity,它也可以工作。