点击监听器在长按监听器之后触发。

8

我有一个 View,同时实现了 onClickListeneronLongClickListener。当我长按该 view 时,onClickListener 也会触发,但我不希望在长按时执行它。有什么方法可以防止它在长按时被执行吗?

2个回答

25

return true;长按回调函数中的返回值代表已经处理了该事件。


@Rich,我尝试了你提供的解决方案,但对于类似的问题没有什么帮助。如果您有任何见解或想法,请在此处分享:https://dev59.com/Qqfja4cB1Zd3GeqPwXkZ。 - AJW

1

onItemLongClick中,返回true而不是false。

原因:如果回调消耗了长按事件,则返回true,否则返回false。

示例:

listView.setOnItemLongClickListener(new OnItemLongClickListener() {

    @Override
    public boolean onItemLongClick(AdapterView<?> adapterView, View view,
            int position, long id) {
        // TODO Auto-generated method stub
        /******
        Change Here true instead of false.
        *******/
        return true;
    }
});

@Pratk Butani,我尝试了你的解决方案,但它并没有解决我的问题。如果您能提供任何见解或想法,我将不胜感激。问题详情请参见:https://dev59.com/Qqfja4cB1Zd3GeqPwXkZ - AJW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接