当 OnlongClick 选项时禁用 onClick on recyclerView

disable onClick on recyclerView when is OnlongClick option

当我点击 LongClick 时如何禁用 onClick? 这是来自 recyclerView 的代码,当我尝试长按时,我只看到正常的点击就像垃圾邮件一样乱七八糟。

 holder.title.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(context, "To clear your recomendations, press for few seconds. ", Toast.LENGTH_SHORT).show();
                    }
                });
                holder.title.setOnLongClickListener(new View.OnLongClickListener() {
                    @Override
                    public boolean onLongClick(View v) {
                        clearPreferences(R.string.preferences_reminder);
                        Toast.makeText(context, "Recomendations cleared.", Toast.LENGTH_SHORT).show();


                        return true;
                    }
                });

添加这一行

holder.title.setOnClickListener(null);

@Nikhil PV 的回答很完美
如果需要同时收听 onLongClickonClick, 这是另一种方法:

示例:

@Override
public boolean onLongClick(View view) {
    //return value true to make sure only onLongClick is executed without triggering normal onClick
    return true; // or false
}

return true表示事件被消费。它被处理了。不会通知其他点击事件。
return false表示事件没有被消费。任何其他点击事件将继续接收通知。

因此,为了确保 onClickonLongClick 不会同时触发,return true 来自 onLongClick 事件。
请不要对此投反对票,我只是想帮助正在寻找这个特定答案的人。