我创建自己的片段,我想从我的活动中激活。我的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激活这个片段?
答案 0 :(得分:0)
确保您与Fragment导入保持一致。在所有类中使用import android.app.Fragment或导入android.support.v4.app.Fragment;在所有课程中。不要混合搭配
FragmentActivity或FragmentActivity的任何子类只能从支持库中保存片段。因此,将您的活动的父类更改为FragmentActivity,它将起作用。由于AppCompatActivity继承自FragmentActivity,它也可以工作。