【问题标题】:how to trigger proper Longclick event on listview如何在列表视图上触发正确的 Longclick 事件
【发布时间】:2014-12-08 21:37:33
【问题描述】:

我必须在长按列表视图时显示 Android 上下文操作模式 但是当我们长按然后一些多事件触发和上下文菜单隐藏 那么有没有办法处理这个问题。

我也尝试在 onLongClick() 上返回 true,但它不起作用

提前感谢您的帮助

【问题讨论】:

    标签: android android-layout android-listview onlongclicklistener


    【解决方案1】:

    在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));
                } 
            }
    
           }
    

    我分享这个答案,以便对其他分享有所帮助

    【讨论】:

      猜你喜欢
      • 2010-10-19
      • 2012-12-24
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      相关资源
      最近更新 更多