Skip to content

Instantly share code, notes, and snippets.

@Levi-Moreira
Created April 12, 2018 18:53
Show Gist options
  • Save Levi-Moreira/516184794de45bff1f2fa11718a238c5 to your computer and use it in GitHub Desktop.
Save Levi-Moreira/516184794de45bff1f2fa11718a238c5 to your computer and use it in GitHub Desktop.
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
public abstract class ClickableAdapter<VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> {
private ClickItemListener clickItemListener;
public void setClickItemListener(ClickItemListener clickItemListener) {
this.clickItemListener = clickItemListener;
}
@Override
public void onBindViewHolder(@NonNull final VH holder, int position) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (clickItemListener != null)
clickItemListener.onClickItem(holder.itemView, holder.getAdapterPosition());
else
throw new IllegalStateException("Click listener not set");
}
});
}
public interface ClickItemListener {
void onClickItem(View v, int position);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment