单击一个项目后,删除Recyclerview addOnItemTouchListner?

时间:2017-08-24 10:30:35

标签: android android-recyclerview ontouchlistener

我有打开alertdialog的每个项目的一些项目和onclick的列表,但有时2个dialoges打开,因为两个recyclerview的项目同时被点击,所以为了避免这种情况我认为我应该删除addOnItemTouchListner,但如何删除它?

1 个答案:

答案 0 :(得分:0)

您应该在ViewHolder实现中为itemView设置OnClickListener而不是OnItemTouchListener,因为OnItemTouchListener在您单击itemView时将调用2次,用于向上和向下操作< / p>

尝试设置OnClickListener或检查onTouchEvent()方法中的操作,如

if (event.getAction() == MotionEvent.ACTION_UP) {
      // do the dialog showing here
}

修改

 class ViewHolder extends RecyclerView.ViewHolder {
    ViewHolder(View itemView) {
        super(itemView);
        ...
        ...
        itemView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                  //call the dialog here
                  // If you need context here use v.getContext() to show the dialog
            }
        );
    }
}