Skip to content

Instantly share code, notes, and snippets.

@ChaMinGyu
Created May 19, 2017 00:34
Show Gist options
  • Save ChaMinGyu/025a80e767fffe11c9e81cd994bac2e4 to your computer and use it in GitHub Desktop.
Save ChaMinGyu/025a80e767fffe11c9e81cd994bac2e4 to your computer and use it in GitHub Desktop.
RecyclerView to Databinding Adapter
import android.content.Context;
import android.databinding.DataBindingUtil;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import you.package.databinding.ItemBinding;
public class BaseAdapter extends RecyclerView.Adapter<BaseAdapter.ViewHolder> {
private Context context;
private ArrayList<User> ArrayList;
public BaseAdapter(ArrayList<User> ArrayList) {
this.ArrayList = ArrayList;
}
public BaseAdapter(Context context, ArrayList<User> ArrayList) {
this.context = context;
this.ArrayList = ArrayList;
}
public class ViewHolder extends RecyclerView.ViewHolder {
ItemBinding binding;
public ViewHolder(View view) {
super(view);
binding = DataBindingUtil.bind(view);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(context).inflate(R.layout.item, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
User user = getItem(position);
viewHolder.binding.setUser(user);
}
@Override
public int getItemCount() {
return ArrayList.size();
}
public User getItem(int position) {
return ArrayList.get(position);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment