繁体   English   中英

Android:无法添加/替换片段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM