android-上下文菜单的创建 - 随心

//Menu设置
//覆盖两个方法onCreateOptionsMenu(Menu menu)、onOptionsItemSelected(MenuItem Item)
//onCreateOptionsMenu:在该函数中创建Menu
//onOptionsItemSelected:当选中某个Menu时调用,用switch(Item.getItemId())来判别
//参数1.分组 2.ID 3.排列顺序 4.标题
menu.add(1, 1, 0, "设置").setIcon(R.drawable.setting);
menu.add(1, 2, 1, "账号").setIcon(R.drawable.switchuser);
menu.add(1, 3, 2, "官方").setIcon(R.drawable.officialweibo);
menu.add(2, 4, 3, "意见").setIcon(R.drawable.comment);
menu.add(2, 5, 4, "关于").setIcon(R.drawable.aboutweibo);
menu.add(2, 6, 5, "退出").setIcon(R.drawable.menu_exit);
//弹出上下文菜单,需用registerForContextMenu(View v)来注册
ListView lv = new LisrView(this);
registerForContextMenu(lv);//注册一个ListView的上下文菜单
//效果是可以在ListView中的某一项长按,会出现一个消息框, 在这个框中有菜单选项
//下面lm.id是用于显示上下文菜单的子视图的行ID。也就是获取到得是BaseAdapter方法getItemId(int position)的返回值
//触发上下文菜单的某一项
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
AdapterContextMenuInfo lm=(AdapterContextMenuInfo)item.getMenuInfo();
switch(item.getItemId()){
case 1://转发
break;
case 2://评论
break;
case 3://收藏
break;
case 4://查看信息
break;
}
Toast.makeText(this, item.getTitle(), 1000).show();
return super.onContextItemSelected(item);
}
//创建上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
AdapterContextMenuInfo lm=(AdapterContextMenuInfo)menuInfo;
System.out.println("第"+lm.id+"项,弹出菜单注册成功");
menu.setHeaderTitle("第"+lm.id+"项的弹出菜单");
menu.add(1, 1, 1, "转发");
menu.add(1, 2, 2, "评论");
menu.add(1, 3, 3, "收藏");
menu.add(1, 4, 4, "查看信息
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值