删除弹出菜单项编程 [英] remove popup menu item programmatically
本文介绍了删除弹出菜单项编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在夸大我的应用程序一个弹出菜单。我创建了一个XML popmenu像下面。
Song_popup XML
<?XML版本=1.0编码=UTF-8&GT?;
<菜单的xmlns:机器人=http://schemas.android.com/apk/res/android
风格=@风格/ ToolBarStyle> <项目
机器人:ID =@ + ID / add_queue
机器人:标题=添加到队列/>
<项目
机器人:ID =@ + ID / play_next
机器人:标题=加入收藏/>
<项目
机器人:ID =@ + ID / add_download
机器人:title =下载/>
&所述; /菜单>
现在我想通过检查的条件删除项目。我怎样才能做到这一点?
code
PopupMenu的弹出=新的PopupMenu(活动,V);
MenuInflater吹气= popup.getMenuInflater();
inflater.inflate(R.menu.song_popup,popup.getMenu());
popup.show();
解决方案
您可以删除菜单项,如下:
菜单M = popup.getMenu();
m.removeItem(m.findItem(R.id.add_queue)); //删除添加到队列
的实施条件是完全取决于你。
,这是你如何处理菜单项点击:
popup.setOnMenuItemClickListener(新PopupMenu.OnMenuItemClickListener(){
@覆盖
公共布尔onMenuItemClick(菜单项菜单项){
如果(menuItem.getItemId()== R.id.play_next){
Toast.makeText(YourActivity.thisPlay_next,Toast.LENGTH_SHORT).show();
返回true;
}
返回false;
}
});
I'm inflating a popup menu in my application. I've created a popmenu xml like below.
Song_popup xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/ToolBarStyle">
<item
android:id="@+id/add_queue"
android:title="Add to queue" />
<item
android:id="@+id/play_next"
android:title="Add to favourite" />
<item
android:id="@+id/add_download"
android:title="Download" />
</menu>
Now i want to remove a item by checking a condition. How can i do this?
Code
PopupMenu popup = new PopupMenu(activity, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.song_popup, popup.getMenu());
popup.show();
解决方案
You can remove a menu item as below:
Menu m = popup.getMenu();
m.removeItem(m.findItem(R.id.add_queue)); //removes "Add to queue"
Implementation of condition is totally up to you.
and this is how you can handle menu item clicks:
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
if(menuItem.getItemId() == R.id.play_next){
Toast.makeText(YourActivity.this, "Play_next", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
这篇关于删除弹出菜单项编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文