[英]Android: can't add/replace fragment
我正在尝试向我的应用添加新片段。
但是此片段为空。
我究竟做错了什么?
片段启动:
ConvertOptions fragment = (ConvertOptions) getSupportFragmentManager()
.findFragmentByTag(Utils.CONVERT_FRAGMENT_TAG);
if (fragment != null)
{
getSupportFragmentManager()
.beginTransaction()
.add(R.id.container, fragment, Utils.CONVERT_FRAGMENT_TAG)
.commit();
}
片段类的代码:
public class ConvertOptions extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.convert_options_fragment, null);
return view;
}
}
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/options_convert_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"
android:layout_gravity="center_horizontal" />
//首先初始化新片段
ConvertOptions fragment = new ConvertOptions();
if (fragment != null)
{
getSupportFragmentManager()
.beginTransaction()
.add(R.id.container, fragment, Utils.CONVERT_FRAGMENT_TAG)
.commit();
}
只要这样做:
ConvertOptions mConvertOptions = new ConvertOptions();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.content_frame, mConvertOptions);
fragmentTransaction.commit();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.