Android学习长按列表项弹出菜单 给菜单项添加事件 获取上下文

2023-05-16

转载自: 点击打开链接

这里是先显示一个listview,长按listview的一个列表项,弹出一个菜单来,菜单有两个条目,

“更新该条”和“删除该条”,并且这两条都有监听事件,整体就像微信好友对话操作一样。

其中菜单项有一个获取上下文的操作:AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

这句也是用于列表项的。

具体代码如下:

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		show = (ListView)findViewById(R.id.show);
		db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/music.db3", null);
		//显示列表
		showlist();
		// 添加长按点击弹出选择菜单
		show.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
			public void onCreateContextMenu(ContextMenu menu, View v,
					ContextMenuInfo menuInfo) {
				menu.setHeaderTitle("选择操作");
				menu.add(0, 0, 0, "更新该条");
				menu.add(0, 1, 0, "删除该条");
			}
		});
	}
	//给菜单项添加事件
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
		//info.id得到listview中选择的条目绑定的id
		String id = String.valueOf(info.id);
		switch (item.getItemId()) {
		case 0:
			updateDialog(id);  //更新事件的方法
			return true;
		case 1:
			//System.out.println("删除"+info.id);
			deleteData(db,id);  //删除事件的方法
			showlist();
			return true;
		default:
			return super.onContextItemSelected(item);
		}
	}

//显示列表项
	private void showlist(){
		Cursor cursor = null;
		try{
			cursor = db.rawQuery("select * from musiclist", null);
			inflateList(cursor);
		}catch(SQLiteException se){
			db.execSQL("create table musiclist(_id integer primary key autoincrement," 
					+"music varchar(30) ,"
					+"singer varchar(30))");
			//查询
			cursor = db.rawQuery("select * from musiclist", null);
			inflateList(cursor);
		}finally{
			//cursor.close();
		}
	}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android学习长按列表项弹出菜单 给菜单项添加事件 获取上下文 的相关文章

  • 油田(Oil Deposits)

    Oil Deposits Time Limit 3000MS Memory Limit Unknown 64bit IO Format lld amp llu Submit Status Description The GeoSurvCom
  • Abbott的复仇(Abbott's Revenge)

    Abbott 39 s Revenge Time limit 3 000 seconds Abbott s Revenge Abbott s Revenge The 1999 World FinalsContest included a p
  • rockchip rk3568 openwrt修改根文件系统分区

    rk3568的openwrt根文件系统分区大小如何修改 xff1f 1 rootfs大小取决于rk356x config的配置 xff0c 默认CONFIG TARGET ROOTFS PARTSIZE 61 512 xff0c 如果需要修
  • 除法(Division)

    Division Time Limit 3000MS Memory Limit Unknown 64bit IO Format lld amp llu Submit Status Description Write a program th
  • 最大乘积(Maximum Product)

    Maximum Product Time Limit 3000MS Memory Limit Unknown 64bit IO Format lld amp llu Submit Status Description Problem D M
  • 分数拆分(Fractions Again?!)

    Fractions Again Time Limit 3000MS Memory Limit Unknown 64bit IO Format lld amp llu Submit Status Description Problem A F
  • 二叉树(Tree Recovery)

    Tree Recovery Time Limit 3000MS Memory Limit Unknown 64bit IO Format lld amp llu Submit Status Description Little Valent
  • 骑士的移动(Knight Moves)

    Knight Moves Time Limit 3000MS Memory Limit Unknown 64bit IO Format lld amp llu Submit Status Description A friend of yo
  • 单词(Play On Words)

    分析 首先需对欧拉道路有所了解 存在欧拉道路的充分条件 xff1a 对于无向图而言 xff0c 如果一个无向图是连通的 xff0c 且最多只有两个奇点 xff08 顶点的度数为奇数 xff09 xff0c 则一定存在欧拉道路 如果有两个奇点
  • 成语接龙(Idiomatic Phrases Game)

    Idiomatic Phrases Game Problem Description Tom is playing a game called Idiomatic Phrases Game An idiom consists of seve
  • DijKstra算法(单源最短路径)

    原文转载自 xff1a 梦醒潇湘love 转载原文是为了方便自己学习 xff0c 也希望能让更多读者在需要的情况下学到更多的知识 Dijkstra xff08 迪杰斯特拉 xff09 算法是典型的最短路径路由算法 xff0c 用于计算一个节
  • Floyd算法(最短路径)

    Floyd 算法允许图中有带负权值的边 xff0c 但不许有包含带负权值的边组成的回路 原文转载自 xff1a 梦醒潇湘love 上一篇文章我们通过迪杰斯特拉算法解决了从某个源点到其余各顶点的最短路径问题 从循环嵌套很容易得到此算法的时间复
  • 最爱的城市

    最爱的城市 时间限制 xff1a 1 秒 内存限制 xff1a 32 兆 特殊判题 xff1a 否 标签 Floyd最短路径 题目描述 一天小明捧着一本世界地图在看 xff0c 突然小明拿起笔 xff0c 将他最爱的那些城市标记出来 xff
  • Docker中配置Nginx多域名配置多个应用

    注意容器中是一个被隔离的空间 xff0c 可以理解为一个独立的服务器 xff0c 所以在做反向代理的时候 xff0c nginx配置不能使用localhost xff0c 可以使用link方式去访问其他容器 nginxa container
  • 八皇后问题(回溯法)

    八皇后问题 xff08 源于 刘汝佳的 算法竞赛入门经典 xff08 第2版 xff09 xff09 在棋盘上放置8个皇后 xff0c 使得它们互不攻击 xff0c 此时每个皇后的攻击范围为同行同列和同对角线 xff0c 要求找出所有解 x
  • 大整数的乘法

    大整数的乘法 xff08 这里主要讨论的是两个较大的数相乘的效率问题 xff0c 实际上并不是真正意义上的大数相乘 在java中有个BigInteger类已经可以储存大数 xff0c 并提供了大数相乘的方法了 xff09 分析 首先 xff
  • 2的次幂表示

    2的次幂表示 时间限制 xff1a 1 0s 内存限制 xff1a 512 0MB 问题描述 任何一个正整数都可以用2进制表示 xff0c 例如 xff1a 137的2进制表示为10001001 将这种2进制表示写成2的次幂的和的形式 xf
  • 扑克序列

    扑克序列 题目描述 标题 xff1a 扑克序列 A A 2 2 3 3 4 4 xff0c 一共4对扑克牌 请你把它们排成一行 要求 xff1a 两个A中间有1张牌 xff0c 两个2之间有2张牌 xff0c 两个3之间有3张牌 xff0c
  • 分糖果

    分糖果 时间限制 xff1a 1 0s 内存限制 xff1a 256 0MB 问题描述 有n个小朋友围坐成一圈 老师给每个小朋友随机发偶数个糖果 xff0c 然后进行下面的游戏 xff1a 每个小朋友都把自己的糖果分一半给左手边的孩子 一轮
  • 最长公共子序列(LCS)

    最长公共子序列LCS问题 给定2个序列X和Y xff0c 当另一序列Z既是X的子序列又是Y的子序列时 xff0c 称Z是序列X和Y的公共子序列 给定X 61 x1 x2 xm 和Y 61 y1 y2 yn xff0c 请找出X和Y的最长公共

随机推荐

  • 0-1背包问题

    0 1背包问题 甲欲出去旅游 xff0c 可携带20 公斤的行李 xff0c 已知甲想带的 5 件行李的重量及其在旅行中产生的效益如下表所示 xff1a 行李编号 I II III IV V 重量 千克 6 4 8 8 4 行李效益 8 4
  • 旅行售货员问题

    旅行售货员问题 题目 某售货员要到4 个城市去推销商品 xff0c 已知各城市之间的路程 xff0c 如右图所示 请问他应该如何选定一条从城市 1 出发 xff0c 经过每个城市一遍 xff0c 最后回到城市 1 的路线 xff0c 使得总
  • https网页加载http资源时不显示图片,报错解决方案

    https网页加载http资源时不显示图片 xff0c 报错解决方案 自动将http的不安全请求升级为https静态文件放置本地反向代理请求http资源 加载http资源时会报错 xff1a 自动将http的不安全请求升级为https 页面
  • 数独游戏

    数独游戏 题目 九宫格是在81个格子 9 9 中 xff0c 要满足以下条件 xff1a xff08 1 xff09 每个横行和竖列中的9个格子都包含数字1 xff5e 9 xff0c 且不重复 xff1b xff08 2 xff09 每个
  • 静态内部类和普通内部类

    两种内部类 Java的内部类有两种 xff0c 一种是静态内部类 xff0c 另一种是普通内部类 xff0c 普通内部类可以获得外部对象的引用 xff0c 所以在普通内部类能够访问外部对象的成员变量 xff0c 也就能够使用外部类的资源 x
  • 迷宫老鼠游戏

    迷宫老鼠游戏 题目 以一个m n的长方阵表示迷宫 xff0c 0 和 1 分别表示迷宫中的通路和障碍 请设计一个算法 xff0c 对任意设定的迷宫 xff0c 求出一条从入口到出口的通路 xff0c 或得出没有通路的结论 xff1b 如果有
  • java通过JDBC链接SQLServer2012

    下面请一字一句地看 xff0c 一遍就设置成功 xff0c 比你设置几十遍失败 xff0c 费时会少得多 首先 xff0c 在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份
  • 完整java开发中JDBC连接数据库代码和步骤

    转载自 xff1a Hongten JDBC连接数据库 创建一个以JDBC连接数据库的程序 xff0c 包含7 个步骤 xff1a 1 加载JDBC驱动程序 xff1a 在连接数据库之前 xff0c 首先要加载想要连接的数据库的驱动到JVM
  • 浅析网站 APP 登录界面设计

    无论网页或是移动APP的设计 xff0c 很重要的一点是如何能在小而美和功能复杂性之间找到平衡点 本文就移动APP表单设计进行浅析 xff0c 看设计师是如何在设计与交互体验之间做到小而美的平衡 一 极致的减法 这是一个异于常规设计思路而得
  • Android应用开发EditText文本内容变化监听方法

    package com google import android app Activity import android os Bundle import android text Editable import android text
  • Android背景渐变色(shape,gradient)

    转载自 xff1a http l62s iteye com blog 1659433 Android设置背景 色可以通过在res drawable里定义一个xml 如下 xff1a 代码 xml代码 xff1a lt xml version
  • Android 自定义CheckBox 样式

    转载自 xff1a http www open open com lib view open1392187282067 html 有些时候需要根据项目需求自定义CheckBox 的样式 xff0c 步骤如下 xff1a 1 首先在drawa
  • 定制个性化的 Android Checkbox 图标

    首发来自 http blog csdn net garretly 转载注明出处 先大概说一下 这里用到的技术比较简单没有多大的技术含量 关键是大家如何去理解 以及自我更新 好了 这里上代码 在 工程目录下 gt res gt drawabl
  • 解决ssl connect error问题

    curl版本过低 xff0c 升级curl php重新编译 xff0c 指定curl库解决
  • RadioGroup以及RadioButton自定义样式的使用

    转载自 xff1a RadioGroup以及RadioButton自定义样式的使用 RadioButton从字面上就可以很清楚的知道它是单选按钮 xff0c 它与RadioGroup配套时候 通常我们在开发中需要自定义RadioButton
  • 两种方式实现类似qq搜索的切换

    转载自 xff1a 点击打开链接 http www csdn net tag searchview qq的搜索功能在点击搜索框时整个页面上移 xff0c 出现透明布局 该效果是模仿iOS实现的 xff0c 但是在Android也是很容易实现
  • android---xml---include用法(导入另一个XML文件到本布局中)

    转载自 xff1a 点击打开链接 Android在xml文件中可使用include包含其他定义好的布局 xff0c 可以将多处用到的布局单独出来 xff0c 然后用include包含进来 xff0c 这种包含方法相当于把原来布局的一部分代码
  • Android开发技巧之像QQ一样输入文字和表情图像

    转载自 xff1a 点击打开链接 QQ聊天输入框 xff0c 在输入框中可以同时输入文字和表情图像 实际上 xff0c 这种效果在Android SDK中只需要几行代码就可以实现 本文将会介绍如何实现像QQ一样输入表情图像 EditText
  • Android调用相机并将照片存储到sd卡上

    转载自 xff1a 点击打开链接 Android中实现拍照有两种方法 xff0c 一种是调用系统自带的相机 xff0c 然后使用其返回的照片数据 还有一种是自己用Camera类和其他相关类实现相机功能 xff0c 这种方法定制度比较高 xf
  • Android学习长按列表项弹出菜单 给菜单项添加事件 获取上下文

    转载自 xff1a 点击打开链接 这里是先显示一个listview 长按listview的一个列表项 xff0c 弹出一个菜单来 xff0c 菜单有两个条目 xff0c 更新该条 和 删除该条 xff0c 并且这两条都有监听事件 xff0c