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

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. HDU 3853 LOOPS 可能性dp(水

    在拐~ #include <stdio.h> #include <cstring> #include <iostream> #include <map> ...

  2. NSIS:延时启动软件的几个方法及探索

    原文NSIS:延时启动软件的几个方法及探索 有时候,我们想要某软件开机启动,但又不要拖慢开机速度,那么,延时启动技术就显得比较重要了.轻狂在这方面曾经研究过,也实现了自己想要的功能,看看我是怎么做的吧 ...

  3. CIC and Fir 滤波器的级联

    在FDATool中 CIC 和 Fir 级联滤波器的设计 1 设计CIC滤波器的幅频特性曲线如下 2.设计FIR 滤波器的幅频特性曲线如下 3.总的特性曲线如下 4.把通带部分放大后的图,比较平坦

  4. 一个用于每一天JavaScript示例-SVG中间javaScript画廊

    <?xml version="1.0" standalone="no"? > <!DOCTYPE svg PUBLIC "-//W3 ...

  5. OCP读书笔记(27) - 题库(ExamG)

    601.You need to perform a block media recovery on the tools01.dbf data file in the SALES database by ...

  6. eclipse 配置android sdk和maven

    首先下载 ADT-22.2.0.rar eclipse-jee-kepler-R-win32-x86_64.zip android SDK4.2.zip 分别解压在一个盘 将ADT里面的两个目录内容相 ...

  7. 怎样用OleDbDataAdapter来对数据库进行操作?

      请问怎样用OleDbDataAdapter来对数据库进行删除.改动和加入? OleDbDataAdapter是DataSet和数据源之间建立联系的重要纽带.用它我们能够对数据库进行删除.改动和加入 ...

  8. linux_解压缩详解

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gun ...

  9. [ 流行的网络框架 ] AFN & ASI

    1.AFN & ASI(早已经停止更新,但现在许多公司也在使用.) AFNetWorking地址:https://github.com/AFNetworking/AFNetworking AS ...

  10. 【高德地图API】如何打造十月妈咪品牌地图?

    原文:[高德地图API]如何打造十月妈咪品牌地图? 摘要:品牌地图除了地图,商铺标点外,还有微博关注,路线查询等功能. ---------------------------------------- ...