我已经为回收器视图实现了触摸侦听器,它适用于单击事件和双击事件,它返回我单击的视图,但我想知道在该视图持有者中单击的视图这怎么可能呢?
这是每个项目在回收站视图中的样子。我需要做的是当用户点击共享图标时它只是触发共享数据的意图但是当点击共享以外的任何内容时它应该转到另一个屏幕提供了进一步的细节,我也需要长时间聆听,以便我可以删除长按的项目。
答案 0 :(得分:0)
实现它的一种方法是声明一个接口,比如
public interface OnRecyclerViewItemClick {
void onItemClick(View view, int position);
}
让您的Fragment
/ Activity
实现它。在RecyclerView.Adapter
中保留对其的引用,并将其传递给您的ViewHolder
。后者也实现View.OnClickListener
,并将this
设置为您有兴趣检索点击事件的所有视图的点击监听器
public static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private OnRecyclerViewItemClick mItemClick;
public MyViewHolder(View v, OnRecyclerViewItemClick listener) {
super(v);
mItemClick = listener;
v.findViewById(R.id.image_view).setOnClickListener(this);
v.findViewById(R.id.text_view).setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mItemClick != null) {
mItemClick.onItemClick(v, getAdapterPosition());
}
}
}
您可以将所需的参数添加到界面的方法