【发布时间】:2015-10-26 07:23:10
【问题描述】:
我对 RecyclerView 有问题,因为当我长按视图时,它会产生简单的点击。这是长按的简单实现。当然,在我的代码中,我将此侦听器设置为我的适配器。
public class HomeListAdapter extends RecyclerView.Adapter<HomeListAdapter<P>.ViewHolder> {
OnItemClickListener mItemClickListener;
OnItemLongClickListener mItemLongClickListener;
public HomeListAdapter() {
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
public ViewHolder(View itemView, int viewType) {
super(itemView);
}
@Override
public void onClick(View v) {
if (mItemClickListener != null) {
mItemClickListener.onItemClick(itemView, getPosition());
}
}
@Override
public boolean onLongClick(View v) {
if (mItemLongClickListener != null) {
mItemLongClickListener.onItemLongClick(itemView, getPosition());
return true;
}
return false;
}
}
public void setOnItemClickListener(final OnItemClickListener mItemClickListener) {
this.mItemClickListener = mItemClickListener;
}
public void setOnItemLongClickListener(final OnItemLongClickListener mItemLongClickListener) {
this.mItemLongClickListener = mItemLongClickListener;
}
}
public interface OnItemClickListener {
void onItemClick(View view, int position);
}
public interface OnItemLongClickListener {
void onItemLongClick(View view, int position);
}
public class HomeListOnItemClickListener implements OnItemClickListener{
@Override
public void onItemClick(View view, int position) {
Log.d("Test", "Click");
}
}
public class HomeListOnItemLongClickListener implements OnItemLongClickListener{
@Override
public void onItemLongClick(View view, int position) {
Log.d("Test", "Long Click");
}
}
我们将不胜感激。
【问题讨论】:
-
不需要做 itemView.setOnLongClickListener(this) 吗?
-
当然。非常感谢。
-
@ThirdMartian 请检查我的答案
标签: android android-recyclerview