onOptionsItemSelected(item: MenuItem) 没有为项目调用 app:actionProviderClass
onOptionsItemSelected(item: MenuItem) not called for an item app:actionProviderClass
onOptionsItemSelected(item: MenuItem) 不会在使用 AndroidX 的项目中点击带有 app:actionProviderClass 的菜单项时调用。
知道为什么吗?
<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"/>
您使用了app:actionProviderClass="androidx.appcompat.widget.ShareActionProvider"
使用与搜索操作视图相同的视图
public 布尔 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;
}
onOptionsItemSelected(item: MenuItem) 不会在使用 AndroidX 的项目中点击带有 app:actionProviderClass 的菜单项时调用。
知道为什么吗?
<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"/>
您使用了app:actionProviderClass="androidx.appcompat.widget.ShareActionProvider"
使用与搜索操作视图相同的视图
public 布尔 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;
}