onOptionsItemSelected (item: MenuItem) не вызывается для приложения элемента: actionProviderClass - PullRequest
0 голосов
/ 10 января 2019

onOptionsItemSelected (item: MenuItem) не вызывается при нажатии на элемент меню с app: actionProviderClass в проекте с AndroidX.

Есть идеи почему?

<item
        android:id="@+id/open_map"
        android:orderInCategory="100"
        android:title="@string/map"
        app:showAsAction="always"/>

<item
        android:id="@+id/add_player"
        android:orderInCategory="100"
        android:title="@string/add_player"
        android:icon="@drawable/ic_add_white_24dp"
        app:showAsAction="ifRoom"/>

<item
        android:id="@+id/share"
        android:orderInCategory="100"
        android:title="@string/share"
        app:actionProviderClass="androidx.appcompat.widget.ShareActionProvider"
        app:showAsAction="ifRoom"/>

1 Ответ

0 голосов
/ 10 января 2019

Вы использовали приложение: actionProviderClass = "androidx.appcompat.widget.ShareActionProvider"

Используйте то же самое как представление поискового действия

public boolean onCreateOptionsMenu (Меню меню) {

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

this.menu = menu;

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

    SearchManager manager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);

    SearchView search = (SearchView) menu.findItem(R.id.search).getActionView();

    search.setSearchableInfo(manager.getSearchableInfo(getComponentName()));

    search.setOnQueryTextListener(new OnQueryTextListener() { 

        @Override 
        public boolean onQueryTextChange(String query) {

            loadHistory(query);

            return true; 

        } 

    });

}

return true;

}

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