Если вы хотите установить setOnClick из своего класса активности, то создайте интерфейс в своем классе адаптера. введите код адаптера продувки.
public class AdapterClass_Recycler extends RecyclerView.Adapter<AdapterClass_Recycler.ViewClass> {
Context context;
private static ClickListener clickListener;
public AdapterClass_Recycler(MainActivity mainActivity) {
this.context = mainActivity;
}
@NonNull
@Override
public ViewClass onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
LayoutInflater layoutInflater = LayoutInflater.from(context);
View view = layoutInflater.inflate(R.layout.item_view, null);
return new ViewClass(view);
}
@Override
public void onBindViewHolder(@NonNull ViewClass viewClass, int i) {
}
@Override
public int getItemCount() {
return length;
}
public class ViewClass extends RecyclerView.ViewHolder implements View.OnLongClickListener, View.OnClickListener {
public ViewClass(@NonNull View itemView) {
super(itemView);
itemView.setOnClickListener(this);
itemView.setOnLongClickListener(this);
}
@Override
public void onClick(View v) {
clickListener.onItemClick(getAdapterPosition(), v);
}
@Override
public boolean onLongClick(View v) {
clickListener.onItemLongClick(getAdapterPosition(), v);
return false;
}
}
public void setOnItemClickListener(ClickListener clickListener) {
AdapterClass_Recycler.clickListener = clickListener;
}
public interface ClickListener {
void onItemClick(int position, View v);
void onItemLongClick(int position, View v);
}
}
Затем установите onclick от вашей активности
adapterClassObject.setOnItemClickListener(new AdapterClass_Recycler.ClickListener() {
@Override
public void onItemClick(int position, View v) {
Toast.makeText(MainActivity.this, "Click"+position, Toast.LENGTH_SHORT).show();
}
@Override
public void onItemLongClick(int position, View v) {
Toast.makeText(MainActivity.this, "Long"+position, Toast.LENGTH_SHORT).show();
}
});