Java 以编程方式使用单个片段初始化FragmentActivity
我尝试向活动添加一个片段,以避免声明布局xml。我在做什么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
@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
参见此问题。