android menu 怎么得到item

 我来答
汐日南莘
推荐于2017-09-06 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.6万
采纳率:45%
帮助的人:7589万
展开全部

  android 中的menu一般是指上下文菜单或者是选项菜单

  其中上选项菜单是可以在布局中res下的menu中在xml布局中写好布局来的然后通过java代码中的onCreateOptionsMenu来加载选项菜单,android4.4高级版本后是自动把菜单加载到标题栏上的,而不是低版本的按下menu键才显是出来的,上下文菜单是是通过onCreateContextMenu这个方法来注册上下文菜单的

  下面讲讲如何获取menu中的item

获取上下文菜单的item其实就是当单机选项菜单时会触发这个方法

public boolean onContextItemSelected(MenuItem mi){
//判断单击的是哪个菜单项,并针对性的作出响应。
switch (mi.getItemId()){
case FONT_RED:
title.setTextColor(Color.RED);
break;
case FONT_GREEN:
title.setTextColor(Color.GREEN);
break;
case FONT_BLUE:
title.setTextColor(Color.BLUE);
break;
case MENU1:
createdialog();
break;
}
return true;
}

获取选项菜单的item其实就是当单击选项菜单时会触发这个方法

public boolean onMenuItemSelected(int featureId, MenuItem item) {
// 利用switch根据ItemId区分点击的是哪个菜单 以便正确响应用户操作
MenuItem  temp= item;
switch (item.getItemId()) {
case R.id.rename:
createdialog();
break;
case R.id.red:
title.setTextColor(Color.RED);
break;
case R.id.green:
title.setTextColor(Color.GREEN);
break;
case R.id.blue:
title.setTextColor(Color.BLUE);
break;
// case R.id.choose_color:
// createpopupmenu(temp);
// break;
}
return super.onMenuItemSelected(featureId, item);
}
生活he家
推荐于2017-09-01 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.myinfo, menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {
// 搜索
case R.id.info_search:

根据ID
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式