onMenuItemClick没有被调用-Android
我有谷歌地图的活动,和一个按钮,我想充气弹出菜单 这是一节课:onMenuItemClick没有被调用-Android,android,android-fragments,popup,Android,Android Fragments,Popup,我有谷歌地图的活动,和一个按钮,我想充气弹出菜单 这是一节课: public class NewMissionMapMainUser extends AppCompatActivity implements PopupMenu.OnMenuItemClickListener, OnMapReadyCallback, GoogleMap.OnMarkerClickListener, GoogleMap.OnMyLocationButtonClickListener { 这是按下按钮时调用的onC
public class NewMissionMapMainUser extends AppCompatActivity implements PopupMenu.OnMenuItemClickListener, OnMapReadyCallback, GoogleMap.OnMarkerClickListener, GoogleMap.OnMyLocationButtonClickListener {
这是按下按钮时调用的onClick方法:
public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.popup_menu, popup.getMenu());
popup.show();
}
这就是没有被调用的代码
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.item_comedy:
Toast.makeText(this, "Comedy Clicked", Toast.LENGTH_SHORT).show();
return true;
case R.id.item_movies:
Toast.makeText(this, "Movies Clicked", Toast.LENGTH_SHORT).show();
return true;
case R.id.item_music:
Toast.makeText(this, "Music Clicked", Toast.LENGTH_SHORT).show();
return true;
default:
Toast.makeText(this, "Yo", Toast.LENGTH_SHORT).show();
return false;
}
}
我尝试了以下链接:
和设置选项菜单
但是为了使操作栏可见,我已经将片段更改为扩展AppCompatActivity,因此行setHasOptions菜单;无法解决
有人知道如何解决这个问题吗?谢谢因为您正在动态实例化弹出菜单,所以需要为它提供将接收单击事件的侦听器。您应该调用popup.setOnMenuItemClickListenerthis,假设这是您的活动或片段。由于您正在动态实例化PopupMenu,因此需要为它提供将接收单击事件的侦听器。假设这是您的活动或片段,您应该调用popup.setOnMenuItemClickListener this。您从不在弹出菜单上调用setOnMenuItemClickListener。您从不在弹出菜单上调用setOnMenuItemClickListener。