一般说到上下文菜单基本上都是长按事件,在一个控件上长按,就会弹出一个菜单。

1.创建上下文菜单:

//覆盖方法,创建上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
//创建菜单项
    menu.add(0, 0, 0, "查看");
menu.add(0, 1, 0, "跳转至网页查看");
menu.add(0, 2, 0, "查看博主其他博文");
     menu.add(0, 0, 0, "删除此项");
menu.add(0, 1, 0, "全部删除");
menu.add(0, 2, 0, "返回");
 }

2.覆盖方法onContextItemSelected。对每一个菜单项进行相应的处理

    // 覆盖方法,对每一个菜单项进行事件监听
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case :
Toast.makeText(context, "查看", Toast.LENGTH_SHORT).show();
break;
case :
Toast.makeText(context, "跳转至网页查看", Toast.LENGTH_SHORT).show();
break;
case :
// 。。。。。。。。
break;
default:
break;
}
return super.onContextItemSelected(item);
}

3.注册上下文菜单。如果没有注册,单击界面的某一个视图是没有反应的,所以上下文菜单与前面的选项菜单不一样

registerForContextMenu(linearLayout);   //注册上下文菜单

-----------------------------------------------------------

在此,我想说的是另一种方法:通过对话框设置短按的上下文菜单

----------------------------------------------------------

AlertDialog.Builder dalog = new AlertDialog.Builder(OfflineBlogsContentActivity.this);
dalog.setTitle("请选择您要的操作:");
dalog.setView(null);
dalog.setItems(new String[] { "跳转至网页查看", "查看博主其他博文", "删除此记录", "取消" },
new OnClickListener() { @Override
public void onClick(DialogInterface dialog1, int which) {
switch (which) {
case ://跳转至网页查看
Intent intent = new Intent(OfflineBlogsContentActivity.this,
BlogsContentActivity.class);
intent.setAction("showbloger");
intent.putExtra("id", blog_offine.getBlogId());
intent.putExtra("newstitle", blog_offine.getBlogTitle());
intent.putExtra("link", blog_offine.getBlogUrl());
intent.putExtra("summary", blog_offine.getBlogSummary());
intent.putExtra("updated", blog_offine.getUpdateTime());
intent.putExtra("comments", blog_offine.getBlogSummary());
intent.putExtra("name", blog_offine.getBloger());
if (CheckNetWork.checkNetworkInfo(OfflineBlogsContentActivity.this)) {
startActivity(intent);
} break; case ://查看博主其他博文
if (CheckNetWork.checkNetworkInfo(OfflineBlogsContentActivity.this)) {
System.out.println(blogapp);
Intent intent1 = new Intent(OfflineBlogsContentActivity.this,BlogerAllBlogsActivity.class);
intent1.putExtra("blogapp", blogapp);
intent1.putExtra("avatar", blogerimgUrl);
intent1.putExtra("name", blogername);
intent1.putExtra("postcount", blogernum);
startActivity(intent1);
}else{
Toast.makeText(OfflineBlogsContentActivity.this, "当前无网络!", Toast.LENGTH_SHORT).show();
}
break;
case ://删除此记录
AlertDialog.Builder alert = new AlertDialog.Builder(
OfflineBlogsContentActivity.this);
alert.setView(null);
alert.setTitle("删除此项");
alert.setMessage("警告:将删除" + itemName);
alert.setPositiveButton("确定",
new OnClickListener() { @Override
public void onClick(
DialogInterface dialog,
int which) {
BlogsSQLHelper
.getDBInstance(
OfflineBlogsContentActivity.this)
.deleteItem(
blog_offine
.getBlogId());
}
});
alert.setNegativeButton("取消", null);
alert.create().show();
break;
case ://取消
dialog1.dismiss();
break;
}
}
});
dalog.create().show();

android项目--上下文菜单的更多相关文章

  1. Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())

    概述: Android 的上下文菜单类似于 PC 上的右键菜单.当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单.任何视图都可以注册上下文菜单,不过, ...

  2. android上下文菜单

    XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmln ...

  3. Android菜单详解(四)——使用上下文菜单ContextMenu

    之前在<Android菜单详解(二)——创建并响应选项菜单>和<Android菜单详解(三)——SubMenu和IconMenu>中详细讲解了选项菜单,子菜单和图标菜单.今天接 ...

  4. 安卓开发笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)

    菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 菜单的实现 ...

  5. Android进阶(二十八)上下文菜单ContextMenu使用案例

    上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等 ...

  6. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)

    说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...

  7. Android 上下文菜单实现

    1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelecte ...

  8. android 上下文菜单详解

    本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:andr ...

  9. android 为组件添加contextMenu上下文菜单

    package com.example.fragmentNavigation2.fragment; import android.os.Bundle; import android.support.v ...

随机推荐

  1. Linux 编程学习笔记----文档管理系统

    本文从网络上完成的第 Linux在文件系统管理. 1.VFS文件系统概述 linux採用VFS来管理文件系统,并且linux设计的原则之中的一个就是everything is file.因此文件管理系 ...

  2. 脸识别API微软牛津项目

    微软牛津项目人脸识别API初探 按照董子的这篇博客中的介绍,到微软牛津项目的网站申请到测试用的人脸识别Key,按照官方文档的介绍,把wpf项目建好之后,按照一步步的流程下来就可以完成example中的 ...

  3. [Cocos2d-x]Cocos2d-x 3.2 学习笔记

    获取屏幕大小(Visible) Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Direc ...

  4. DB Error: 1 &quot;unrecognized token: &quot;:&quot;&quot;

    在网上查找http://blog.csdn.net/heihuifeng/article/details/6561615本文 .插入的字符串需加引號', [_db executeUpdate:[NSS ...

  5. Parse 和 Swift 搭建一个像 Instagram

    如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?   [编者按]本篇文章作者是Reinder de Vries,既是一名企业家,也是优秀的程序员,发表多篇应用程序的博客 ...

  6. OCP读书笔记(23) - 题库(ExamC)

    200.Which operation requires that you create an auxiliary instance manually before executing the ope ...

  7. ASP.NET——两个下拉框来实现动态联动

    介绍: 在网页中.我们常常会遇到下图中的情况.首先在下拉框中选择所在的省.选择之后,第二个下拉框会自己主动载入出该省中的市.这样设计极大的方便了用户的查找.那这是怎样实现的呢? 1.建立数据库 &qu ...

  8. Eclipse UML小工具AmaterasUML的配置和使用

    AmaterasUML是个人认为最好用的Eclipse UML插件,能够通过拖拽Java源文件,轻松生成类图结构.同一时候支持活动图.时序图和用例图. 它的官方下载地址是:http://sourcef ...

  9. android activity 后的形式 藏

    activity 希望的形式 于AndroidManifest.xml  建立 theme 属性 <activity             android:name="zicox.u ...

  10. Extjs4.1MVC详细解释

    :http://xiebaochun.github.io/ app.js [javascript] view plaincopyprint? Ext.onReady(function(){ Ext.Q ...