当OnlongClick选项时,禁用onClick on recyclerView

时间:2016-07-21 11:12:20

标签: java android television

点击onClick时如何停用LongClick? 这是来自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;
                    }
                });

2 个答案:

答案 0 :(得分:1)

@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表示事件未使用。其他任何点击事件将继续接收通知。

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

答案 1 :(得分:0)

添加此行

holder.title.setOnClickListener(null);