我正在尝试从RecyclerViewMain 类中执行单击事件,但它没有捕捉到单击。
界面
public interface OnItemClickListener {
void onItemClick(int posicao);
void onItemLongClick(int posicao);
}
接口属性和设置器
private OnItemClickListener mlistener;
public void setOnItemClickListener(OnItemClickListener listener){
mlistener = listener;
}
类 ViewHolder
public class ViewHolderArtista extends RecyclerView.ViewHolder{
public ViewHolderArtista(@NonNull View itemView, final OnItemClickListener listener) {
super(itemView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(listener != null){
int position = getAdapterPosition();
if(position != RecyclerView.NO_POSITION){
listener.onItemClick(position);
}
}
}
});
itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (listener != null){
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION){
listener.onItemLongClick(position);
}
}
return true;
}
});
}
}
在主类中实现:
artistaAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int posicao) {
Log.d("TESTE", "CLIQUE CURTO" +posicao);
}
@Override
public void onItemLongClick(int posicao) {
Log.d("TESTE", "CLIQUE LONGO" +posicao);
}
});
但是,单击时没有任何反应:
https://i.stack.imgur.com/oWppR.png
也就是我在主类中实现了RecyclerView的点击事件,但是它不起作用,它没有捕捉到点击项的位置。
喵喔喔
慕森王
浮云间
相关分类