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

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. WAP页面点击与hover延迟解决之道

    最近一直在WAP端页面的开发,一直都知道wap端点击相关问题存在延迟.之前做的网页大部分使用a链接进行,一直未入此坑. 最近做的一个WAP网站,各种点击,hover事件,如果使用PC端网页的做法,直接 ...

  2. Round #169 (Div. 2)D. Little Girl and Maximum XOR

    1.首先是要找到一个位置从左至右,作l这一个是0,r这一个是1. 2.实例01011,10100.你将能够找到01111和10000. #include<cstdio> #include& ...

  3. Linux 编程学习笔记----动笔makefile档

    Befroe Beginning. 在设置暑假的plan ,关于Linux的书籍如今在看的是ALP和Linux高级程序设计(杨宗德)第三版.在计划中的是Linux高级环境编程. 如今開始关于Linux ...

  4. Is it always safe to call getClass() within the subclass constructor?(转)

    14down votefavorite   An article on classloading states that the method getClass() should not be cal ...

  5. TCP/IP的经典网络编程

                                                                             TCP/IP网络编程之四书五经             ...

  6. AngularJS html5Mode 使用 SVG Marker失效

    接上一篇文章: 问题: 解决了html5Mode的路由问题之后,今天突然发现一个奇怪的问题:项目中使用SVG所画的箭头全都不见了?反复测试之后发现Chrome和Firefox有问题,而IE却可以显示, ...

  7. maven 编

    Eclipse   对    run  as   [Run Configurations] main标签. Goals:输入命令:clean install -Dmaven.test.skip=tru ...

  8. DFS-leetcode Combination Sum I/I I

    深度优先搜索(DFS)它是一个搜索算法.第一次接触DFS它应该是一个二进制树的遍历内部,二叉树预订.序和后序实际上属于深度遍历-first.在本质上,深度优先搜索,遍历中则看到了更纯正的深度优先搜索算 ...

  9. Android Fragment 真正彻底的解决(下一个)

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因.以及一些主要的使用方 ...

  10. 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

    Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件. This project attempts to achi ...