如何将此功能调用到OnClick事件? 想通过使用onclick事件或使用按钮onclick事件调用onCreateOptionMenu,所以请帮助我解决这个问题?
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option_menu, menu);
switch (mWhichRouteProvider){
case OSRM:
menu.findItem(R.id.menu_route_osrm).setChecked(true);
break;
case GRAPHHOPPER_FASTEST:
menu.findItem(R.id.menu_route_graphhopper_fastest).setChecked(true);
break;
case GRAPHHOPPER_BICYCLE:
menu.findItem(R.id.menu_route_graphhopper_bicycle).setChecked(true);
break;
case GRAPHHOPPER_PEDESTRIAN:
menu.findItem(R.id.menu_route_graphhopper_pedestrian).setChecked(true);
break;
case GOOGLE_FASTEST:
menu.findItem(R.id.menu_route_google).setChecked(true);
break;
}
if (map.getTileProvider().getTileSource() == TileSourceFactory.MAPNIK)
menu.findItem(R.id.menu_tile_mapnik).setChecked(true);
else if (map.getTileProvider().getTileSource() == TileSourceFactory.MAPQUESTOSM)
menu.findItem(R.id.menu_tile_mapquest_osm).setChecked(true);
else if (map.getTileProvider().getTileSource() == MAPBOXSATELLITELABELLED)
menu.findItem(R.id.menu_tile_mapbox_satellite).setChecked(true);
return true;
}
答案 0 :(得分:2)
您可以使用invalidateOptionsMenu。从文档
声明选项菜单已更改,因此应重新创建。该 onCreateOptionsMenu(Menu)方法将在下次需要时调用 待显示。
该方法可从api level 11获得。
答案 1 :(得分:1)
在onClick事件中使用以下行
openOptionsMenu();
答案 2 :(得分:0)
只需获取onCreateOptionsMenu中的所有代码并将其放入另一个函数中(doTheThing())
然后你有
public boolean onCreateOptionsMenu(Menu menu) {
doTheThing(menu);
return true
}
然后调用onClickListener中的那个东西
答案 3 :(得分:0)
为什么不使用:
div
对我而言,这似乎是一种更好的方式