Skip to content

Instantly share code, notes, and snippets.

@Younes-Charfaoui
Created September 14, 2021 16:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Younes-Charfaoui/7c3001b320eaf4567eb5c5f88d905bca to your computer and use it in GitHub Desktop.
Save Younes-Charfaoui/7c3001b320eaf4567eb5c5f88d905bca to your computer and use it in GitHub Desktop.
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
#parse("File Header.java")
public class ${NAME}
extends ListAdapter<${Model_Class}, ${NAME}.${ViewHolder_Class}> {
private Interaction interaction;
protected ${NAME}(Interaction interaction) {
super(new ${Model_Class}DC());
this.interaction = interaction;
}
@NonNull @Override public ${ViewHolder_Class} onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new ${ViewHolder_Class}(
LayoutInflater.from(parent.getContext()).inflate(R.layout.${Item_Layout_ID}, parent, false));
}
@Override public void onBindViewHolder(@NonNull ${ViewHolder_Class} holder, int position) {
holder.bind(getItem(position));
}
public class ${ViewHolder_Class} extends RecyclerView.ViewHolder {
${ViewHolder_Class}(View inflate) {
super(inflate);
}
public void bind(${Model_Class} item) {
//TODO use itemView and set data
}
}
interface Interaction {
}
private static class ${Model_Class}DC extends DiffUtil.ItemCallback<${Model_Class}> {
@Override public boolean areItemsTheSame(@NonNull ${Model_Class} oldItem,
@NonNull ${Model_Class} newItem) {
//TODO "not implemented"
return false;
}
@Override public boolean areContentsTheSame(@NonNull ${Model_Class} oldItem,
@NonNull ${Model_Class} newItem) {
//TODO "not implemented"
return false;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment