【问题标题】:android disable onitemlongclickandroid禁用onitemlongclick
【发布时间】:2014-08-16 03:44:32
【问题描述】:

我正在使用以下代码:

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

当我在手机上测试应用程序并按住一个项目几秒钟时,onItemLongClick 会触发。我看到的问题是我的整个 onItemClick 没有触发并且应用程序变得混乱......至少它的行为与我快速触摸该项目的行为不同。我尝试在布局 xml 文件中禁用 onItemLongClick,但这对我没有帮助。我希望任何 longitemclicks 都充当普通的 onItemClick。因此,您可以快速点击该项目一次,也可以按住它一秒钟(或几秒钟以触发 onitemlongclick)并且仅 onItemClick 运行。当它是长按时,两者似乎都会触发,我宁愿只在 onItemClick 下执行所有操作..有人对此有任何想法吗?

【问题讨论】:

    标签: android gridview onitemclick


    【解决方案1】:

    尝试使用 setClickable(true) 和 setLongClickable(false)

    【讨论】:

    • 我把这两行放在 gridView.setOnItemClickListener 之前,它没有做任何事情。在我的 setOnItemClickListener 中,可以说我删除了一个项目或其他什么。如果我快速触摸该项目会删除并刷新。如果我做一个 longitemclick 没有任何反应..但是在我点击同一个项目之后它不会被删除..所以它只适用于快速触摸和 longitemclick 中的任何东西似乎都会破坏它
    • 实际上,如果我执行 longitemclick,除了 gridview 没有更新之外,一切都会正确发生。在我执行 quickitemclick 后,网格会刷新并且项目会更改值/位置等。但是如果我按住项目,网格位置会移动,但它不会自行刷新以移动项目(如果这有任何意义)?
    • 您是否从 onlongclick 方法返回 true,这将通知 longclick 事件已处理...?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多