【发布时间】:2014-12-08 21:37:33
【问题描述】:
我必须在长按列表视图时显示 Android 上下文操作模式 但是当我们长按然后一些多事件触发和上下文菜单隐藏 那么有没有办法处理这个问题。
我也尝试在 onLongClick() 上返回 true,但它不起作用
提前感谢您的帮助
【问题讨论】:
标签: android android-layout android-listview onlongclicklistener
我必须在长按列表视图时显示 Android 上下文操作模式 但是当我们长按然后一些多事件触发和上下文菜单隐藏 那么有没有办法处理这个问题。
我也尝试在 onLongClick() 上返回 true,但它不起作用
提前感谢您的帮助
【问题讨论】:
标签: android android-layout android-listview onlongclicklistener
在stackoverflow上搜索后 我用这个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));
}
}
}
我分享这个答案,以便对其他分享有所帮助
【讨论】: