【问题标题】:How to prevent OnItemClickListener work when long click performed?执行长按时如何防止 OnItemClickListener 工作?
【发布时间】:2011-04-26 09:34:44
【问题描述】:

我有一个 gridview,如果用户执行单击或长按,我希望它的项目表现不同,这就是我使用 OnItemClickListener 和 OnItemLongClickListener 的原因,但是当长按发生时,两个侦听器都会做出反应。我只想执行 OnItemLongClickListener。

【问题讨论】:

    标签: android gridview listview onlongclicklistener


    【解决方案1】:
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {   
       return true;
    }
    

    return true 将阻止点击事件继续。它将只执行OnItemLongClickListener

    【讨论】:

      【解决方案2】:

      您可以使用AdapterView.setOnItemLongClickListener。 GridView 继承了 AdapterView,因此您也可以在 GridView 上调用该方法。

      【讨论】:

      • 我已经在使用 AdapterView.setOnItemLongClickListener 但我也在使用 setOnItemClickListener 并且它们都会对长按做出反应,我想防止 OnItemClickListener 对长按做出反应。
      【解决方案3】:

      为了拦截长点击(又名敲击),您应该实施GestureDetector.OnGestureListener

      【讨论】:

        猜你喜欢
        • 2012-07-24
        • 1970-01-01
        • 2020-01-09
        • 2015-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多