проблема поиска в конкретном устройстве androidx - PullRequest
2 голосов
/ 03 октября 2019

Я переместил свой код на androidx, он отлично работает на других устройствах, но я получаю

java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.widget.SearchView.setSearchableInfo(android.app.SearchableInfo)' on a null object reference at packagename.FileName.onCreateOptionsMenu (FileName.java:43) в VIVO Devices

Следующее мое менюкод

   <item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_search_category_default"
    android:orderInCategory="100"
    android:title="@string/w_search"
    app:showAsAction="always"
    app:actionViewClass="androidx.appcompat.widget.SearchView" />

Я не могу выяснить, по каким причинам это происходит.

РЕДАКТИРОВАТЬ:

для контекста, если это помогает, у меня была похожая проблема вcom.google.android.material.textfield.TextInputLayout но после добавления app:passwordToggleDrawable="@null" это было решено

РЕДАКТИРОВАТЬ 2:

SearchView код

    getMenuInflater().inflate(R.menu.menu_search, menu);

    // Associate searchable configuration with the SearchView
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    searchView = (SearchView) menu.findItem(R.id.action_search)
            .getActionView();
    searchView.setSearchableInfo(searchManager
            .getSearchableInfo(getComponentName()));
    searchView.setMaxWidth(Integer.MAX_VALUE);
    searchView.setQueryHint(getResources().getString(R.string.w_hint_search));

    SearchView.SearchAutoComplete searchAutoComplete = searchView.findViewById(R.id.search_src_text);
    searchAutoComplete.setHintTextColor(Color.parseColor("#5FFFFFFF"));
    searchAutoComplete.setTextColor(Color.WHITE);

1 Ответ

0 голосов
/ 16 октября 2019

, основываясь на нескольких предложениях в комментарии, и я не смог найти никакого конкретного ответа, который я сделал, чтобы решить проблему, сначала я изменил меню с androidx.appcompat.widget.SearchView на android.widget.SearchView

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_search_category_default"
    android:orderInCategory="100"
    android:title="@string/w_search"
    app:showAsAction="always"
    app:actionViewClass="android.widget.SearchView" />

и изменил мой java импорт с import androidx.appcompat.widget.SearchView; на import android.widget.SearchView;

Технически это не решает проблему, но решает мою проблему, поэтому я публикую ее как ответ.

...