SwitchCompat 文本未显示在操作栏上

SwitchCompat text not showing up on action bar

我的应用程序上有一个操作栏,操作栏内有一个 SwitchCompat 小部件。我已经让小部件显示在操作栏上,但是当我测试应用程序时,开关旁边没有文本。

这是我的 menu.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/app_bar_switch"
        android:title="Switch"
        app:showAsAction="always"
        app:actionLayout="@layout/switch_item"
        app:actionViewClass="androidx.appcompat.widget.SwitchCompat" />
</menu>

这是我的 actionview xml 文件,其中包含 SwitchCompat 小部件

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

    <androidx.appcompat.widget.SwitchCompat
        android:text="Night Mode"
        android:showText="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />
</RelativeLayout>

如您所见,我已经在我的操作视图文件中添加了 android:text="Night Mode"android:showText="true"。但是,文本仍然没有显示。我该怎么做?

我不确定为什么我不能在运行前在 xml 文件中静态设置文本,但我通过在我的代码中设置 SwitchCompat 的文本来动态解决它。

这是 Kotlin 代码:

 override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.app_menu, menu);
        val nightMode= menu?.findItem(R.id.app_bar_switch)
        val actionView:SwitchCompat= nightMode?.actionView as SwitchCompat
        actionView.text = "Night Mode"
        return super.onCreateOptionsMenu(menu)
    }