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

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项目--上下文菜单的更多相关文章
- Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())
概述: Android 的上下文菜单类似于 PC 上的右键菜单.当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单.任何视图都可以注册上下文菜单,不过, ...
- android上下文菜单
XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...
- Android菜单详解(四)——使用上下文菜单ContextMenu
之前在<Android菜单详解(二)——创建并响应选项菜单>和<Android菜单详解(三)——SubMenu和IconMenu>中详细讲解了选项菜单,子菜单和图标菜单.今天接 ...
- 安卓开发笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)
菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 菜单的实现 ...
- Android进阶(二十八)上下文菜单ContextMenu使用案例
上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等 ...
- 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...
- Android 上下文菜单实现
1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelecte ...
- android 上下文菜单详解
本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:andr ...
- android 为组件添加contextMenu上下文菜单
package com.example.fragmentNavigation2.fragment; import android.os.Bundle; import android.support.v ...
随机推荐
- NSIS:卸载加密码示例
原文 NSIS:卸载加密码示例 最近有几个同学问我关于卸载时加密码的问题,其实很简单,懂点基础就可以根据安装加密码那篇文章http://www.flighty.cn/html/bushu/201009 ...
- NFS文件系统配置 和 GLIBC更新
为了配置集群环境,把过程记录一下,方便后续使用 NFS 文件系统 是 network file system 配置好ssh无密码访问 ,各节点为centos6.5 主节点 在文件/etc/expor ...
- JavaEE(14) - JPA关联映射
1. 单向N-1关联映射 2. 单向1-1关联映射 3. 单向1-N关联映射 4. 单向N-N关联映射 5. 双向1-1关联映射 6. 双向1-N关联映射 7. 双向N-N关联映射 1. 单向N-1关 ...
- 使用requirejs实现模块化编程
> 序言 - -# 公司大了,业务多了,前端代码量也逐渐增大,我们渐渐的依赖js实现的交互越来越多,长期以来会导致我们的代码维护越来越困难,所以依赖的插件也越来越多..比如这样页面中有大量的js ...
- HDU1068/POJ1466_Girls and Boys(二分图/最大独立集=N-最大匹配)
解题报告 http://blog.csdn.net/juncoder/article/details/38160591 题目传送门(POJ) 题目传送门(HDU) 题意: 求满足条件的最大集合:集合内 ...
- SQL Profile (总结4)--使用演示示例
前提:sql profile工具的相关视图 dba_sql_profile 10g: sys.sqlprof$attr & sqlprof$ 11g: sys.sqlobj$data & ...
- 加快XCode编译链接速度(200%+)—XCode编译慢液
最近在一个大型项目的开发的时候遇到一个很头疼的问题,由于该项目的代码更,每次建立联系1纪要.浪费时间调试.因此,一些研究如何提高编译链接速度,这里给大家分享. 为了提高编译和链接的是以下三种方式的速度 ...
- linux复制文件命令scp
linux大多数复制我们的递送工具使用,有着ftp,scp等一下. 当中scp命令很easy快捷, 本机到远程:scp (-r) 本地目录或者文件路径 远程ip:目录 远程到本机:scp (-r) 远 ...
- 如何从 0 开始学 Ruby on Rails
如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣, ...
- Codeforces #180 div2 C Parity Game
// Codeforces #180 div2 C Parity Game // // 这个问题的意思被摄物体没有解释 // // 这个主题是如此的狠一点(对我来说,),不多说了这 // // 解决问 ...