Android 片段未显示,即使在对其充气后也是如此

Android fragment is not displayed, even after inflating it

我声明我是应用程序开发的初学者,尤其是片段。
我正在 AndroidStudio 中开发一个应用程序项目;我正在尝试创建一个主页来显示一些信息,例如在线状态、收到的消息等等。
对于每个信息,我都尝试关联一个片段,但没有显示,即使代码中没有错误。
我用的是4.2版本,代码写在Java;我已经尝试了一切,但我已经完成了想法。
有什么建议么?我错过了什么吗?I was doing something like the image shown in this link.
我将post下面的代码:

这是 MainActivity:

public class MainActivity extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BottomNavigationView buttonNV= findViewById(R.id.menu);
        buttonNV.setOnNavigationItemSelectedListener(navListener);


        getSupportFragmentManager().beginTransaction().add(R.id.online_frame,new OnlineStatusFragment()).commit();

    }

online_fragment(我片段的布局):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="203dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="42dp"
        android:layout_marginLeft="42dp"
        android:layout_marginTop="36dp"
        android:layout_marginEnd="27dp"
        android:layout_marginRight="27dp"
        android:layout_marginBottom="277dp"
        android:background="@drawable/border_tv"
        android:text="SEI ONLINE/TESTING"
        app:drawableRightCompat="@drawable/settings_icon" />
</RelativeLayout>

activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="@color/background">

    <FrameLayout
            android:layout_width="fill_parent"
            android:layout_height="150dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="55dp"
            android:layout_alignParentLeft="true"
            android:id="@+id/online_frame">

        <fragment
            android:id="@+id/online_fragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:name="com.example.progetto_lso_b.OnlineStatusFragment"
            tools:layout="@layout/online_fragment" />

    </FrameLayout>

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:menu="@menu/bottom_menu"
        android:layout_alignParentBottom="true"
        android:background="?android:attr/windowBackground"
        android:id="@+id/menu"/>

</RelativeLayout>

这是 OnlineStatusFragment.java
public class OnlineStatusFragment extends Fragment {

    public OnlineStatusFragment() {}

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate il layout per questo fragment
        return inflater.inflate(R.layout.online_fragment, container, false);
    }
}

我检查了你的代码,我认为那是因为你没有将 FrameLayout 添加到 Fragment。你能尝试在 online_fragment.xml:

中做到这一点吗
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".fragment.OnlineFragment">
    
    
    <RelativeLayout  android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="203dp"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginStart="42dp"
            android:layout_marginLeft="42dp"
            android:layout_marginTop="36dp"
            android:layout_marginEnd="27dp"
            android:layout_marginRight="27dp"
            android:layout_marginBottom="277dp"
            android:background="@drawable/border_tv"
            android:text="SEI ONLINE/TESTING"
            app:drawableRightCompat="@drawable/settings_icon" />
    </RelativeLayout>

</FrameLayout>

我发现我的代码哪里做错了。
我以错误的方式设置了 TextView 的宽度和高度;事实上,我必须分别用 match_parentwrap_content 设置这些数据。
此外,我删除了文件 activity_main.xml 中的 <fragment> (就像之前有人评论过的那样),因为它会“复制”该片段。
这是 online_fragment.xml 中的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".OnlineStatusFragment">

    <TextView
        android:id="@+id/online_status"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="1dp"
        android:text="Sei online/sei offline"
        android:drawableRight="@drawable/settings_icon"/>

</RelativeLayout>

这是 activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="@color/background">

    <FrameLayout
            android:layout_width="fill_parent"
            android:layout_height="150dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="55dp"
            android:layout_alignParentLeft="true"
            android:id="@+id/online_frame">
    </FrameLayout>
    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:menu="@menu/bottom_menu"
        android:layout_alignParentBottom="true"
        android:background="?android:attr/windowBackground"
        android:id="@+id/menu"/>

</RelativeLayout>

感谢大家对我的帮助!