android 长按 ListView 无法弹出 ContextMeun

可能的原因:

onItemLongClick 消费了长按事件

  1. mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
  2. @Override
  3. public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
  4. mApSelect = position;
  5. Log.d(TAG, "onItemLongClick:" + mApSelect);
  6. return false;
  7. }
  8. });

关键在 onItemLongClick 函数的返回值,看文档注释:

  1. /**
  2. * Callback method to be invoked when an item in this view has been
  3. * clicked and held.
  4. *
  5. * Implementers can call getItemAtPosition(position) if they need to access
  6. * the data associated with the selected item.
  7. *
  8. * @param parent The AbsListView where the click happened
  9. * @param view The view within the AbsListView that was clicked
  10. * @param position The position of the view in the list
  11. * @param id The row id of the item that was clicked
  12. *
  13. * @return true if the callback consumed the long click, false otherwise
  14. */

如果返回 ture,系统认为用户实现的回调函数已经处理完了长按事件。而弹出 ContextMenu 也是长按事件的响应,且在 onItemLongClick 响应之后,所以返回 true 导致 ContextMenu 无法弹出。

来自为知笔记(Wiz)

时间: 2024-11-08 21:39:51

android 长按 ListView 无法弹出 ContextMeun的相关文章

关于一条定制长按Power键弹出Dialog的需求

如题,需要定制长按Power键弹出的Dialog,UI上的大致效果是:全屏,中间下拉按钮“Swipe Down To Power Off”下拉关机,底部左右两侧“Reboot”,“Cancel”按钮,分别是重启,取消操作.并要求弹出Dialog的同时,背景渐变模糊,操作控件有相应动画效果,执行相应操作有同步动画,退出界面背景渐变至透明消失.设计效果酱紫: 具体控件动画要求就不再详述.主要两件事:1.关机流程,更准确的说应该是对长按Power键的处理:2.定制Dialog. 1.长按Power键,

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

这里是先显示一个listview,长按listview的一个列表项,弹出一个菜单来,菜单有两个条目, "更新该条"和"删除该条",并且这两条都有监听事件,整体就像微信好友对话操作一样. 其中菜单项有一个获取上下文的操作:AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 这句也是用于列表项的. 具体代码如下: protected void onCreate(Bundle

【Android】android PopupWindow实现从底部弹出或滑出选择菜单或窗口

转载自:android PopupWindow实现从底部弹出或滑出选择菜单或窗口 Android PopupWindow的使用和分析 Popupwindow的使用 PopupWindow用法

android :点击某个按钮弹出在原有布局中没有(或者存在)内容 :以删除原有布局内容为例

主要涉及了(1)对布局中某个控件的监听 (2)在布局文件中设置可显示,删除的参数 visibility的参数的有三个,在这里我只设置了一个,可见的. android:visibility="visible" 剩下的和他的用法相同. (3)在代码中监听控件后,对visibility的参数重新设置. 效果图:点击按钮后edittext不见了 (1)点击高级按钮前 (2)点击高级按钮后 (1)布局文件 <?xml version="1.0" encoding=&qu

android 用NineOldAndroid实现的弹出按钮

NineOldAndroid 1.首先上效果图: 左边这张是没有点击button的时候的效果,   右边这张是点击button 后是以该button为圆的展开5个button                               2.实现的思路是: 1)在FrameLayout中将6个Button进行重叠,然后将主Button显示在最上面,其他Button可以隐藏掉. 2)然后调用用NineOldAndroids来进行动画设置,在设置动画的时候要注意是以Button为中心的圆.所以要根据B

Android点击列表后弹出输入框,所点击项自动滚动到输入框上方(类似微信的评论)

Android点击列表后弹出输入框,所点击项自动滚动到输入框上方 使用微信的朋友圈会发现,点击某一条评论后输入框会弹出来,然后所点击的那一项会自动地滚动到输入框上方的位置,这样如果开始所点击的评论在屏幕很下方的话,就不会被输入框遮住,虽然微信这一点在我的MX2频繁点几次后滚动的位置就完全错误了,但据说在有些机型上效果还不错,还有其他地方可能会有类似的需求,比如登录时软键盘可能会把登录按钮遮住. 要实现这个功能需要注意的地方主要有两点: 什么时候进行滚动操作,以及有可能还需要在输入框消失时回滚回去

Android 长按Listview 每个item底部弹出菜单

android界面中,有一个功能是点击listview的每个item,下方弹出两个菜单,可以点击进入别的界面,这个功能可以使用开源项目expandablelistview,的确是可以实现,但发现导入的代码过多,显得很臃肿,经过师傅指点,我采用的是如下方法,步骤如下: 1.新建一个listview,需要在外层套一层scrollview,不过使用scrollview会导致listview的高度只有一个item,需要使用自定义的listview,代码如下: package allone.verbank

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

好久没写博客拉``````` 近期最终略微闲一点了``````` 无聊拿手机清理短信.发现批量事件的处理还是挺管用的`````` 那么自己也来山寨一记看看效果吧````` 闲话少说,首先,我们来看下手机自带的短信功能里运行批量删除时的效果: 然后  是我们自己简单山寨的效果:       模拟的操作过程非常easy,但也非常有代表性. 我们假定我们所处的场景为.进入一个存放联系人列表的界面. 于是,首先我们定义了一个进度框,模拟提示正在从网络上下载数据. 接着.当网络数据成功下载到移动设备上后,

Anroid关于fragment控件设置长按事件无法弹出Popupwindows控件问题解决记录

一.问题描述 ????记录一下最近在安卓的gragment控件中设置长按事件遇见的一个坑!!! ????在正常的activity中整个活动中设置长按事件我通常实例化根部局,例如LinearLayout longSetting = (LinearLayout) view.findViewById(R.id.testlong);,然后对变量longSetting调用setOnLongClickListener函数实现注册长按事件,但是在一个fragment控件中如此设置长按无法弹出popupwind