如何设置不同的工具栏并隐藏片段中的上一个工具栏

How to set a different toolbar and hide previous toolbar in fragment

我正在尝试在我的片段中膨胀不同的工具栏。虽然我能够为不同的片段膨胀不同的工具栏问题是 MainActivity 工具栏我无法隐藏它我已经使用

 (activity as AppCompatActivity).supportActionBar?.hide() 

但它只隐藏片段工具栏,而不是 MainActivity 工具栏我想隐藏 MainActivity 工具栏。

我的代码

片段

class SearchFragment : Fragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {

        val view = inflater.inflate(R.layout.fragment_search, container, false)
        val toolbar = view.findViewById<Toolbar>(R.id.toolbar_search)

        (activity as AppCompatActivity).setSupportActionBar(toolbar)
        setHasOptionsMenu(true)
//        (activity as AppCompatActivity).supportActionBar?.hide()

        return view

    }

Xml

<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            app:titleTextColor="#000000"
            app:title="MainActivity"
            app:elevation="8dp" />

    </com.google.android.material.appbar.AppBarLayout>
    
</androidx.coordinatorlayout.widget.CoordinatorLayout>

我相信 fragment 的工具栏是隐藏的,因为你将它添加到 activity 然后你隐藏它所以在添加 fragment 的工具栏之前尝试隐藏

        val view = inflater.inflate(R.layout.fragment_search, container, false)
        val toolbar = view.findViewById<Toolbar>(R.id.toolbar_search)
        (activity as   AppCompatActivity).supportActionBar?.hide()
        (activity as AppCompatActivity).setSupportActionBar(toolbar)
        setHasOptionsMenu(true)