Я не могу установить значок searchView - PullRequest
0 голосов
/ 13 февраля 2020

Я установил значок для searchView в меню xml, но значок не работал для моей панели инструментов. Элемент, который я установил, имеет белый цвет. Значок поисковой панели на панели инструментов имеет черный цвет. Я не могу этого понять.

Изображение панели инструментов: Панель инструментов

Панель инструментов XML:

<androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toTopOf="@+id/rv_nots"
        android:theme="?attr/actionBarTheme"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:titleMarginStart="40dp"
        app:logo="@drawable/not"
        app:titleTextColor="@color/colorWhite"
        ></androidx.appcompat.widget.Toolbar>

Изображение меню: Меню

Меню 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/action_search"
        android:title="@string/search"
        app:actionViewClass="androidx.appcompat.widget.SearchView"
        android:icon="@drawable/ic_search_24dp"
        app:showAsAction="ifRoom">
    </item>

    <item
        android:id="@+id/action_add"
        android:icon="@drawable/ic_add_24dp"
        app:actionViewClass="androidx.appcompat.widget.ButtonBarLayout"
        app:showAsAction="always"
        android:title="">
    </item>

</menu>

Java источник:

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.toolbar_menu,menu);
        MenuItem search_item = menu.findItem(R.id.action_search);
        MenuItem add_item = menu.findItem(R.id.action_add);
        SearchView searchView = (SearchView) search_item.getActionView();

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {
                if(query.length()>0) {

                }
                return false;
            }
            @Override
            public boolean onQueryTextChange(String newText) {
                adapter.getFilter().filter(newText);
                return false;
            }
        });

        return super.onCreateOptionsMenu(menu);

    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...