Skip to content

Instantly share code, notes, and snippets.

@junsuk5
Created April 14, 2019 06:28
Show Gist options
  • Save junsuk5/86177a379c4f98e50ad00d68640a78a0 to your computer and use it in GitHub Desktop.
Save junsuk5/86177a379c4f98e50ad00d68640a78a0 to your computer and use it in GitHub Desktop.
RecyclerAdapter 30초만에 만들기용 LiveTemplate
private static class $class$ extends RecyclerView.Adapter<$class$.$holder$> {
interface $interface$ {
void $method$($Model$ model);
}
private $interface$ mListener;
private List<$Model$> mItems = new ArrayList<>();
public $class$() {}
public $class$($interface$ listener) {
mListener = listener;
}
public void setItems(List<$Model$> items) {
this.mItems = items;
notifyDataSetChanged();
}
@NonNull
@Override
public $holder$ onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.$layout$, parent, false);
final $holder$ viewHolder = new $holder$(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mListener != null) {
final $Model$ item = mItems.get(viewHolder.getAdapterPosition());
mListener.$method$(item);
}
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull $holder$ holder, int position) {
$Model$ item = mItems.get(position);
// TODO : 데이터를 뷰홀더에 표시하시오
}
@Override
public int getItemCount() {
return mItems.size();
}
public static class $holder$ extends RecyclerView.ViewHolder {
// TODO : 뷰홀더 완성하시오
public $holder$(@NonNull View itemView) {
super(itemView);
// TODO : 뷰홀더 완성하시오
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment