如何在列表视图上触发正确的 Longclick 事件
Posted
技术标签:
【中文标题】如何在列表视图上触发正确的 Longclick 事件【英文标题】:how to trigger proper Longclick event on listview 【发布时间】:2014-12-08 21:37:33 【问题描述】:我必须在长按列表视图时显示 android 上下文操作模式 但是当我们长按然后一些多事件触发和上下文菜单隐藏 那么有没有办法处理这个问题。
我也尝试在 onLongClick() 上返回 true,但它不起作用
提前感谢您的帮助
【问题讨论】:
【参考方案1】:在***上搜索后 我用这个question找到了我的答案 在我的列表视图上实现 GestureDetector 这是我的代码
在列表视图上设置 GestureDetector
final GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector());
View.OnTouchListener gestureListener = new View.OnTouchListener()
public boolean onTouch(View v, MotionEvent event)
return gestureDetector.onTouchEvent(event);
;
mMessageListView.setOnTouchListener(gestureListener);
还有这个 MyGestureDetector 的代码
class MyGestureDetector extends SimpleOnGestureListener
@Override
public void onLongPress(MotionEvent e)
super.onLongPress(e);
ListView lv = mMessageListView;
int pos = lv.pointToPosition((int)e.getX(), (int)e.getY());
if (listMsg.get(pos).type==ChatItem.ITEM)
mMessageListView.setItemChecked(pos, !adapter.isPositionChecked(pos));
我分享这个答案,以便对其他分享有所帮助
【讨论】:
以上是关于如何在列表视图上触发正确的 Longclick 事件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SupportMapFragment 中使用 OSMDroid 在地图上启用 LongClick
如何在gridimage的Longclick上显示所有复选框