Java 以编程方式使用单个片段初始化FragmentActivity

Java 以编程方式使用单个片段初始化FragmentActivity,java,android,android-fragments,Java,Android,Android Fragments,我尝试向活动添加一个片段,以避免声明布局xml。我在做什么 @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); getSupportFragmentManager().beginTransaction() .add(android.R.id.content, new mFragment()).commit(); } 但它与: java.lang.IllegalSt

我尝试向活动添加一个片段,以避免声明布局xml。我在做什么

@Override
protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);
    getSupportFragmentManager().beginTransaction()
            .add(android.R.id.content, new mFragment()).commit();
} 
但它与:

java.lang.IllegalStateException: The specified child already has a parent. 
You must call removeView() on the child's parent first.
是否有一个简短的表单可以避免此错误,或者我必须先恢复内容布局,然后删除它们的所有视图?谢谢

编辑mFragment代码:

public class mFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View result= inflater.inflate(R.layout.activity_main, container);
        return result;
    }

}
更改:

View result= inflater.inflate(R.layout.activity_main, container);
致:

更改:

View result= inflater.inflate(R.layout.activity_main, container);
致:


充气时请尝试以下代码

View result= inflater.inflate(R.layout.activity_main, container, false);
这将避免在默认情况下将视图添加到父视图。
通过使用其他方法,默认情况下它将添加父级。因此,当您尝试动态添加它时,它将抛出上述异常。

在膨胀时尝试以下代码

View result= inflater.inflate(R.layout.activity_main, container, false);
这将避免在默认情况下将视图添加到父视图。
通过使用其他方法,默认情况下它将添加父级。因此,当您尝试动态添加它时,它将抛出上述异常。

片段类的post代码
MFFragment
查看此问题。片段类的post代码
MFFragment
参见此问题。