Skip to content

Instantly share code, notes, and snippets.

@mladenrakonjac
Created September 19, 2016 11:30
Show Gist options
  • Save mladenrakonjac/aa90e8a738ebb041962c77fd311f4193 to your computer and use it in GitHub Desktop.
Save mladenrakonjac/aa90e8a738ebb041962c77fd311f4193 to your computer and use it in GitHub Desktop.
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${NAME} extends
RecyclerView.Adapter<${NAME}.ViewHolder> {
private static final String TAG = ${NAME}.class.getSimpleName();
private Context context;
private List<${LIST_MODEL}> list;
private OnItemClickListener onItemClickListener;
public ${NAME}(Context context, List<${LIST_MODEL}> list,
OnItemClickListener onItemClickListener) {
this.context = context;
this.list = list;
this.onItemClickListener = onItemClickListener;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
// Todo Butterknife bindings
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
public void bind(final ${LIST_MODEL} model,
final OnItemClickListener listener) {
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onItemClick(getLayoutPosition());
}
});
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Context context = parent.getContext();
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.${item_layout}, parent, false);
ButterKnife.bind(this, view);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
${LIST_MODEL} item = list.get(position);
//Todo: Setup viewholder for item
holder.bind(item, onItemClickListener);
}
@Override
public int getItemCount() {
return list.size();
}
public interface OnItemClickListener {
void onItemClick( int position);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment