要从选定的ListView项中获取该项,请参考ContextMenuInfo对象(请参见下面的最后一个实现方法)。完整解决方案如下:

1)在ListActivity类中为上下文菜单注册ListView

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// ...

getListView().setAdapter(mAdapter);

registerForContextMenu(getListView());

}

1a)如果列表上有复杂的视图,则可能需要在Adapter类中的每个列表视图上启用长按

@Override

public View getView(int position, View convertView, ViewGroup parent) {

View view = convertView;

if (view == null) {

RelativeLayout layout = (RelativeLayout) LayoutInflater.from(mContext).inflate(R.layout.list_item, parent, false);

itemLayout = layout;

itemLayout.setLongClickable(true);

}

// ...

return view;

}

2)在ListActivity类中实现onCreateContextMenu()和onContextItemSelected()

@Override

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

super.onCreateContextMenu(menu, v, menuInfo);

AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;

String title = ((MyItem) mAdapter.getItem(info.position)).getTitle();

menu.setHeaderTitle(title);

menu.add(Menu.NONE, MENU_CONTEXT_DELETE_ID, Menu.NONE, DELETE_TEXT);

}

@Override

public boolean onContextItemSelected(MenuItem item) {

switch (item.getItemId()) {

case MENU_CONTEXT_DELETE_ID:

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

Log.d(TAG, "removing item pos=" + info.position);

mAdapter.remove(info.position);

return true;

default:

return super.onContextItemSelected(item);

}

}

android 动态contextmenu,在Android中使用ContextMenu与ListView相关推荐

  1. 【Android NDK 开发】Ubuntu 函数库交叉编译 ( Android 动态库交叉编译 | Android 静态库交叉编译 )

    文章目录 I . Ubuntu 中交叉编译 Android 动态库 II . Ubuntu 中交叉编译 Android 静态库 I . Ubuntu 中交叉编译 Android 动态库 1 . 要编译 ...

  2. android 动态绘制布局,Android代码和绘制曲线中按钮和绘图板的动态布局

    时间: 2019年1月11日 本文向您介绍Android代码中的按钮和绘图板的动态布局和绘制曲线,主要包括示例android 动态绘制曲线,应用技巧,基本知识和知识android 动态绘制曲线,包括A ...

  3. android动态添加圆,Android开发中TextView 实现右上角跟随文本动态追加圆形红点

    在一个比较坑的需求里,一段文字右上角需要追加一个圆形红点.最右侧有个金额,红点动态随着文字移动,然后各种摆布局,一下午坑死我了.后来果断放弃.然后就想试试直接自定义view来实现这个需求. 最坑的就是 ...

  4. android 动态广告图片,android – 如何在动态壁纸的设置屏幕中添加一个admob广告视图?...

    这是一个更简单的解决方案:创建一个显示单个广告的新首选项类型.然后,您可以在首选项的xml定义中包含该首选项类型,以显示一个或多个广告. 自定义偏好类: public class AdmobPrefe ...

  5. android 动态设置margin,android 代码中设置margin

    场景:Android怎么在java代码中设置margin Android如何在java代码中设置margin 原创帖,转发请注明出处:http://thierry-xing.iteye.com/blo ...

  6. Android动态替换dex,Android DexClassLoader动态加载与插件化开发

    参考链接: 一. 基本概念和注意点 1.1 首先需要了解一点:在Android中可以动态加载,但无法像Java中那样方便动态加载jar 原因:Android的虚拟机(Dalvik VM)是不认识Jav ...

  7. android 动态录音权限,Android如何判断手机是否有录音权限的工具类

    作用 判断手机是否有录音权限的工具类,兼容6.0以上以及以下android系统 测试环境 这篇文章是评论中的网友提出质疑后,经过重写修改与重写测试后编写的,我的调试环境是小米note3,Android ...

  8. android动态获取输入值,Android实现动态自动匹配输入内容

    Android实现动态自动匹配的控件主要有MultiAutoCompleteTextView和AutoCompleteTextView MultiAutoCompleteTextView: 可支持选择 ...

  9. android动态改变菜单栏,Android动态设置主题(使用RxBus模式)

    之前写过一篇文章:RxBus的实现及简单使用.今天我们尝试使用RxBus动态切换主题. 一.定义主题颜色 color.xml #F44336 #D32F2F #F44336 #E91E63 #C218 ...

  10. android动态静态广播,Android BroadcastReceiver实现自定义静态广播和动态广播(黏性广播)...

    思维导图: 静态广播: 当广播发出去的时候 如果接收广播的应用程序已经退出,也能接收广播: 发送者代码: package com.example.g160628_android_21_sender; ...

最新文章

  1. Spring【依赖注入】就是这么简单
  2. JavaScript 读取CSV文件并转为js对象
  3. Chapter 3 Phenomenon——19
  4. PHP+MySql+PDO实现简单登录、注册
  5. 使用反射获得jar包中的类、方法、参数、返回值类型,然后动态加载jar包运行方法
  6. 矩池云上编译安装dlib库
  7. 窃取任意GitHub Actions敏感信息如此简单,只需要分支改个名?
  8. 监测wifi连接_超声波传感器在物联网河流水位监测过程中扮演重要角色
  9. 黑白染色——封锁阳光大学
  10. php把数据存到cookie,php – 在cookie中存储数组
  11. groovy curry的用处
  12. 豆豆趣事[2016年03月]
  13. c语言怎么做翻译软件,使用有道翻译API做翻译(c语言实现)
  14. 学习动力方法介绍,让你们成为永动机
  15. STC89c52定时器的使用以及相关案例
  16. Stata: 断点回归 (RDD) 教程
  17. Android 获取音频MP3文件的专辑缩略图
  18. 用ANSYS画矩形_基于ANSYS的压力自动加载
  19. 清华最新推荐的AI顶会和期刊,很有必要follow一下 | 资源图谱
  20. Revit开发之快捷键相关类

热门文章

  1. mysql 统计查询不充电_MySql查询语句介绍,单表查询,来充电吧
  2. sqli-lab———writeup(11~17)
  3. python科学计算_可视化图解Python科学计算包NumPy
  4. 怎么用计算机算立方数,计算器的使用方法
  5. vc 通过句柄修改窗口大小_VC应用(1)通过VC修改销售订单行项目的字段
  6. python合并多个pdf_python合并多个pdf文件
  7. 可扩展的编程语言——Scala
  8. virtualbox的USB识别
  9. 洛谷P4133 [BJOI2012]最多的方案(记忆化搜索)
  10. Part 2: Containers