RecyclerView 中的项目上的 addOnItemTouchListener 或 setOnClickListener?
addOnItemTouchListener or setOnClickListener on item in a RecyclerView?
最推荐的处理 RecyclerView
项点击的方法是什么?
recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
private RecyclerView.OnItemTouchListener itemTouchListener;
@Override
public boolean onInterceptTouchEvent(@NonNull RecyclerView recyclerView, @NonNull MotionEvent motionEvent) {
return false;
}
@Override
public void onTouchEvent(@NonNull RecyclerView recyclerView, @NonNull MotionEvent motionEvent) {}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean b) {}
});
或者在适配器内的项目视图上设置点击侦听器?
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Do stuff
}
});
使用接口处理 Recycler View 内的 onClick 事件的最常见方式。
Great read about this topic here
征求您的第二意见。但是应该实现一个接口来处理 OnClick 事件
点击回收站视图项目的最佳且有效的方法是使用界面,如下所示:
1) 首先定义一个接口如下
public interface OnListItemClick {
void onClick(View view, int position);
}
2) 现在,从您的片段或 activity
中设置它
OnListItemClick onListItemClick = new OnListItemClick() {
@Override
public void onClick(View view, int position) {
// you will get click here
// do your code here
}
};
youradaptor.setClickListener(onListItemClick);
3) 现在在您的适配器中创建一个方法
public void setClickListener(OnListItemClick context) {
this.onListItemClick = context;
}
4) 现在,从您的项目视图中单击如下使用
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onListItemClick.onClick(view, getAdapterPosition()); // passing click to interface
}
});
最推荐的处理 RecyclerView
项点击的方法是什么?
recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
private RecyclerView.OnItemTouchListener itemTouchListener;
@Override
public boolean onInterceptTouchEvent(@NonNull RecyclerView recyclerView, @NonNull MotionEvent motionEvent) {
return false;
}
@Override
public void onTouchEvent(@NonNull RecyclerView recyclerView, @NonNull MotionEvent motionEvent) {}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean b) {}
});
或者在适配器内的项目视图上设置点击侦听器?
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Do stuff
}
});
使用接口处理 Recycler View 内的 onClick 事件的最常见方式。 Great read about this topic here
征求您的第二意见。但是应该实现一个接口来处理 OnClick 事件
点击回收站视图项目的最佳且有效的方法是使用界面,如下所示:
1) 首先定义一个接口如下
public interface OnListItemClick {
void onClick(View view, int position);
}
2) 现在,从您的片段或 activity
中设置它OnListItemClick onListItemClick = new OnListItemClick() {
@Override
public void onClick(View view, int position) {
// you will get click here
// do your code here
}
};
youradaptor.setClickListener(onListItemClick);
3) 现在在您的适配器中创建一个方法
public void setClickListener(OnListItemClick context) {
this.onListItemClick = context;
}
4) 现在,从您的项目视图中单击如下使用
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onListItemClick.onClick(view, getAdapterPosition()); // passing click to interface
}
});