Skip to content

Instantly share code, notes, and snippets.

@douglasiacovelli
Last active April 13, 2017 17:45
Show Gist options
  • Save douglasiacovelli/20dee01997013ce62f106ff892d2d651 to your computer and use it in GitHub Desktop.
Save douglasiacovelli/20dee01997013ce62f106ff892d2d651 to your computer and use it in GitHub Desktop.
Basic Adapter with dataBinding
class AdapterName extends RecyclerView.Adapter<AdapterName.ViewHolder> {
private Contract contract;
private List<T> data;
public AdapterName(Contract contract, List<T> data) {
this.contract = contract;
this.data = data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(contract.getContext());
DataBinding dataBinding = DataBindingUtil.inflate(inflater, R.layout.layout, parent, false);
return new ViewHolder(dataBinding);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Presenter presenter = new Presenter(contract, data.get(position));
holder.dataBinding.setPresenter(presenter);
holder.dataBinding.getRoot().setTag(presenter);
}
@Override
public int getItemCount() {
return data == null ? 0 : data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private DataBinding dataBinding;
public ViewHolder(DataBinding dataBinding) {
super(dataBinding.getRoot());
this.dataBinding = dataBinding;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment