Android listview onContextMenu侦听器不工作

Android listview onContextMenu侦听器不工作,android,listview,contextmenu,long-press,Android,Listview,Contextmenu,Long Press,我尝试了SO和相关网站上几乎所有可用的内容 选中此方法(但失败):重写两个活动方法并为上下文菜单注册listview对象 OnLongItemClick:即使这个也不起作用。我只是简单地添加了日志,看看控件是否进入listview,但没有进入 附加信息:我有一个自定义listview和自定义适配器。为了避免dispatchDraw崩溃,listview如下所示 public class CustomListView extends ListView { public CustomListVie

我尝试了SO和相关网站上几乎所有可用的内容

  • 选中此方法(但失败):重写两个活动方法并为上下文菜单注册listview对象
  • OnLongItemClick:即使这个也不起作用。我只是简单地添加了日志,看看控件是否进入listview,但没有进入
  • 附加信息:我有一个自定义listview和自定义适配器。为了避免dispatchDraw崩溃,listview如下所示

    public class CustomListView extends ListView {
    
    public CustomListView(Context context) {
        super(context);
    }
    
    public CustomListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    
    @Override
    protected void dispatchDraw(Canvas canvas) {
        try {
            super.dispatchDraw(canvas);
        } catch (IndexOutOfBoundsException e) {
            // need not catch
        }
      }
    }
    
    listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { ..... }
    
    registerForContextMenu(listView);
     public boolean onContextItemSelected(MenuItem item) {}/*Activity method overriden*/
    
    现在代码是这样的

    public class CustomListView extends ListView {
    
    public CustomListView(Context context) {
        super(context);
    }
    
    public CustomListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    
    @Override
    protected void dispatchDraw(Canvas canvas) {
        try {
            super.dispatchDraw(canvas);
        } catch (IndexOutOfBoundsException e) {
            // need not catch
        }
      }
    }
    
    listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { ..... }
    
    registerForContextMenu(listView);
     public boolean onContextItemSelected(MenuItem item) {}/*Activity method overriden*/
    
    有什么线索吗?已经花了一个小时尝试不同的东西,但没有任何效果