
我正在使用以下方法将ContextMenu添加到我已构建的自定义视图中,但我想知道如何对该上下文菜单的新闻做出反应.
这不是一个活动所以我不能这样做:
@overrIDe public boolean onoptionsItemSelected(MenuItem item) {这是代码
private VIEw.OnCreateContextMenuListener vC = new VIEw.OnCreateContextMenuListener() { @OverrIDe public voID onCreateContextMenu(ContextMenu arg0, VIEw arg1, ContextMenuInfo arg2) { // Todo auto-generated method stub arg0.add(0, 0, 0, "Call"); arg0.add(0, 1, 0, "Map"); arg0.add(0, 2, 0, "Market"); }};更新:
这是我班级非常简化的版本.
public final class NewVIEw extends VIEw { public NewVIEw(Context context, AttributeSet attrs) { super(context, attrs); cntxt = context; this.setLongClickable(true); this.setonLongClickListener(vLong); this.setonCreateContextMenuListener(vC); }private VIEw.OnLongClickListener vLong = new VIEw.OnLongClickListener() { public boolean onLongClick(VIEw vIEw) { showContextMenu(); return true; } }; private VIEw.OnCreateContextMenuListener vC = new VIEw.OnCreateContextMenuListener() { @OverrIDe public voID onCreateContextMenu(ContextMenu arg0, VIEw arg1, ContextMenuInfo arg2) { // Todo auto-generated method stub arg0.add(0, 0, 0, "Call"); arg0.add(0, 1, 0, "Map"); arg0.add(0, 2, 0, "Market"); }}; } 解决方法:
使用item.getItemID()并根据getItemID()返回的数字创建开关和案例
像这样的东西.
@overrIDe public boolean onoptionsItemSelected(MenuItem item) { switch(item.getItemID()) { case 1: Log.i("FirsT ITEM: ", "CALL"); break; case 2: Log.i("2nd ITEM: ", "MAP"); break; case 3: Log.i("3rd ITEM: ", "Market"); break; default: }}我希望这是你对菜单项选择作出反应的意思. 总结
以上是内存溢出为你收集整理的Android ContextMenu for View(非活动)全部内容,希望文章能够帮你解决Android ContextMenu for View(非活动)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)