RecyclerView用下面的视图滑动不检测点击

我有这样的RecyclerView行布局

 <Layout> <BackgroundView> <ForegroundView> </Layout> 

我正在使用ItemTouchHelper来处理前景视图上的滑动(部分)

 @Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { adapter.onItemSwiped(viewHolder); } @Override public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { View foregroundView = ((myViewHolder)viewHolder).getForegroundView(); getDefaultUIUtil().onDraw(c, recyclerView, foregroundView, dX, dY, actionState, isCurrentlyActive); //getSwipeLimit() used below returns the width of the delete icon float translationX = Math.min(-dX, ((myViewHolder) viewHolder).getSwipeLimit()); foregroundView.setTranslationX(-translationX); } 

我已经为我的适配器类的BindViewHolder中的backgroundview设置了一个单击侦听器。

 @Override public void onBindViewHolder(WhiteListViewHolder holder, Cursor cursor) { //get name and number from the cursor here holder.name.setText(name); holder.number.setText(number); holder.deleteButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.d("whitelist", "yes clicked"); } }); } 

问题是,背景视图在视图未被刷入时接受点击,但视图被刷出后,背景视图停止接受点击。

在这里输入图像说明

引用上面的图片,如果我点击删除button,有时会刷新的视图,它不会捕获点击。

如果我把整个视图刷出来,点击剩下的空白区域也会带来翻看的视图。

提前致谢。

Solutions Collecting From Web of "RecyclerView用下面的视图滑动不检测点击"

我解决了任务的第一部分 – 现在没有检测到没有刷卡。 但点击后不检测…

  @Override public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { if(actionState == ItemTouchHelper.ACTION_STATE_SWIPE){ if (dX < 0) { backgroundView.setVisibility(View.VISIBLE); } else { backgroundView.setVisibility(View.GONE); } } }