首页 > 解决方案 > android菜单项不会出现在顶栏上

问题描述

 Toolbar toolbar = view.findViewById(R.id.toolbar);
            ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);

@Override
    public void onCreateOptionsMenu(@NonNull @NotNull Menu menu, @NonNull @NotNull MenuInflater inflater) {
        inflater.inflate(R.menu.menu,menu);
        MenuItem searchItem = menu.findItem(R.id.action);
        SearchView searchView = (SearchView) searchItem.getActionView();
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                adapter.getFilter().filter(newText);
                return false;
            }
        });
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/action"
    android:icon="@android:drawable/ic_menu_search"
    android:title="Search"
    app:showAsAction="ifRoom|collapseActionView"
    app:actionViewClass="androidx.appcompat.widget.SearchView" />

</menu>

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/item"
        android:elevation="4dp"
        android:translationY="52dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    
    </androidx.appcompat.widget.Toolbar>


<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout 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="com.example.gestion_actif.ActifActivity">

    <include
        android:id="@+id/include"
        layout="@layout/activity_topbar"
        tools:layout_editor_absoluteX="3dp" />
    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />

我使用片段而不是活动..我的问题是工具栏出现了,但我在运行时没有找到菜单项。我应该写一个代码来在菜单和顶栏之间进行同步?我可以直接使用顶部栏和片段中的菜单吗?

标签: androidmenufragmenttoolbar

解决方案


推荐阅读