android 动态contextmenu,Android成长日记-ContextMenu实现上下文菜单

一、 ContextMenu的组成

标题以及标题图标

菜单内容

菜单内容的点击事件

二、 ContextMenu与OptionMenu的区别

OptionMenu对应的是activity,一个activity只能拥有一个选项菜单

ContextMenu对应的是View,每个View都可以设置上下文菜单

一般情况下ContextMenu常用于ListView或者GridView

三、 ContextMenu创建方法

.首先给View注册上下文菜单registerForContexMenu()

.添加上下文菜单内容onCreateContextMenu()

-可通过代码动态添加

-可加载xml文件中的菜单项

.设计菜单点击后响应事件onContextItemSelected()

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

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

安卓开发_浅谈ContextMenu(上下文菜单)

长下文菜单,即长按view显示一个菜单栏 与OptionMenu的区别OptionMenu对应的是activity,一个activity只能拥有一个选项菜单ContextMenu对应的是View,每个 ...

Android — 长按ListView 利用上下文菜单(ActionMode) 进行批量事件处理

好久没写博客拉``````` 近期最终略微闲一点了``````` 无聊拿手机清理短信.发现批量事件的处理还是挺管用的`````` 那么自己也来山寨一记看看效果吧````` 闲话少说,首先,我们来看下手 ...

Android成长日记-使用GridView显示多行数据

本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...

Android成长日记-Android四大组件之Service组件的学习

1.什么是Service? Service是Android四大组件中与Activity最相似的组件,它们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台运行,它 ...

Android成长日记-数据存储之SQLite[1]

[SQLite简介] SQLite是R.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行 ---支持高达2TB大小的数据库: ...

Android成长日记-五大布局

1. 五布局之线性布局LinearLayout 特点:它包含的子控件将以横向或竖向的方式排列 ps:android:gravity=”center|bottom”(gravity允许多级联用) Tip ...

Android成长日记-数据存储之SharedPreferences

数据篇-SharedPreferences Android的四种存储方式 1. SharedPreferences 2. SQLite 3. Content Provider 4. File ---- ...

Android成长日记-使用ViewFlipper实现屏幕切换动画效果

(一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...

随机推荐

Android事件分发机制浅谈(一)

---恢复内容开始--- 一.是什么 我们首先要了解什么是事件分发,通俗的讲就是,当一个触摸事件发生的时候,从一个窗口到一个视图,再到一个视图,直至被消费的过程. 二.做什么 在深入学习android ...

Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群

Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群 >>>>>>>>>>>>>> ...

公网IP和私有IP

IP地址是为了区分网络中不同主机所分配的一个地址,通过IP地址可以访问到每一台主机. IP地址分为公有地址和私有地址,公有地址由Internet NIC负责(比如中国互联网信息中心http://ip. ...

Silverlight并行下载与串行下载

思路清晰后仅仅只需百来行代码便可轻松编写出一套完整的资源动态下载组件- SerialDownloader和ParallelDownloader,它们共用一个完成资源表,且串行下载集成了优先机制(Dow ...

h5 + nginx + php 视频上传之突破文件大小受限的解决办法

一.环境: CentOS 6.8 nginx 1.8.0 php 7.0.10 二.背景 基于 nginx + php 的 h5 项目,上传视频的时候,如果视频太大,会上传失败. 三.正文 一份视频传 ...

xBIM 使用Linq 来优化查询

目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...

发布到NPMJS

最近在做微服务的前后端设计,打算将客户端中的一个模块独立出来发布到npmjs上,因此,有机会了解了一下npm的发布过程. 参考了很多网上的文章,长篇累牍(但在这里还是真心感谢他们的分享),最终总结成一 ...

为App添加Log日志文件

using System; using System.Globalization; using System.IO; using System.Text; using System.Windows.F ...

【Java每日一题】20170119

20170118问题解析请点击今日问题下方的“[Java每日一题]20170119”查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import jav ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以给您提供以下实现步骤: 1. 在您的Activity中,为ListView注册ContextMenu,可以在onCreate()方法中使用registerForContextMenu()方法实现: ```java registerForContextMenu(listView); ``` 2. 实现ListView的长按事件,可以在onCreate()方法中使用setOnItemLongClickListener()方法实现: ```java listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { // 在这里处理长按事件 return false; } }); ``` 3. 在长按事件中弹出ContextMenu,可以在onCreateContextMenu()方法中创建ContextMenu并添加菜单项: ```java @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.context_menu, menu); // 创建ContextMenu,并添加菜单项 } ``` 4. 在ContextMenu菜单项中添加删除操作,可以在onContextItemSelected()方法中获取选择的菜单项,并进行相应的操作: ```java @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case R.id.delete: adapter.remove(adapter.getItem(info.position)); // 删除ListView中的数据项 adapter.notifyDataSetChanged(); // 通知ListView数据已经改变 return true; default: return super.onContextItemSelected(item); } } ``` 以上就是实现ListView长按弹出ContextMenu并进行删除操作的步骤,您可以根据自己的需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值