OnOptionsItemSelected (item: MenuItem) не вызывается для элемента app: actionProviderClass

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"/>

0
0
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы использовали app: 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;

}

Другие вопросы по теме