Snippets

Oleg Chulakov Studio Android Picker

You are viewing an old version of this snippet. View the current version.
Revised by Владимир Самсонов 45dc3d8
public class PickerAdapter extends RecyclerView.Adapter<PickerItemHolder> {

  private List<String> items;

  public PickerAdapter(List<String> items) {
    this.items = items;
  }

  @NonNull
  @Override
  public PickerItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        return new PickerItemHolder(
            DataBindingUtil.inflate(
                LayoutInflater.from(parent.getContext()),
                R.layout.picker_item,
                parent,
                false));
  }

  @Override
  public void onBindViewHolder(@NonNull PickerItemHolder holder, int position) {
    int arrayPosition = position % items.size();
    holder.binding.text.setText(items.get(arrayPosition));
  }

  @Override
  public int getItemCount() {
    return Integer.MAX_VALUE;
  }

  public List<String> getItems() {
    return items;
  }

  public class PickerItemHolder extends RecyclerView.ViewHolder {
    PickerItemBinding binding;
    public PickerItemHolder(@NonNull PickerItemBinding binding) {
      super(binding.getRoot());
      this.binding = binding;
    }
  }
}
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.