/** * * This gets called when each new ViewHolder is created. This happens when the RecyclerView * is laid out. Enough ViewHolders will be created to fill the screen and allow for scrolling. * * @param viewGroup The ViewGroup that these ViewHolders are contained within. * @param viewType If your RecyclerView has more than one type of item (which ours doesn't) you * can use this viewType integer to provide a different layout. See * {@link android.support.v7.widget.RecyclerView.Adapter#getItemViewType(int)} * for more details. * @return A new NumberViewHolder that holds the View for each list item */ @Override public NumberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { Context context = viewGroup.getContext(); int layoutIdForListItem = R.layout.number_list_item; LayoutInflater inflater = LayoutInflater.from(context); boolean shouldAttachToParentImmediately = false; View view = inflater.inflate(layoutIdForListItem, viewGroup, shouldAttachToParentImmediately); NumberViewHolder viewHolder = new NumberViewHolder(view); viewHolder.viewHolderIndex.setText("ViewHolder index: " + viewHolderCount); int backgroundColorForViewHolder = ColorUtils .getViewHolderBackgroundColorFromInstance(context, viewHolderCount); viewHolder.itemView.setBackgroundColor(backgroundColorForViewHolder); viewHolderCount++; Log.d(TAG, "onCreateViewHolder: number of ViewHolders created: " + viewHolderCount); return viewHolder; }
/** * * This gets called when each new ViewHolder is created. This happens when the RecyclerView * is laid out. Enough ViewHolders will be created to fill the screen and allow for scrolling. * * @param viewGroup The ViewGroup that these ViewHolders are contained within. * @param viewType If your RecyclerView has more than one type of item (which ours doesn't) you * can use this viewType integer to provide a different layout. See * {@link android.support.v7.widget.RecyclerView.Adapter#getItemViewType(int)} * for more details. * @return A new NumberViewHolder that holds the View for each list item */ @Override public NumberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { Context context = viewGroup.getContext(); int layoutIdForListItem = R.layout.number_list_item; LayoutInflater inflater = LayoutInflater.from(context); boolean shouldAttachToParentImmediately = false; View view = inflater.inflate(layoutIdForListItem, viewGroup, shouldAttachToParentImmediately); NumberViewHolder viewHolder = new NumberViewHolder(view); viewHolder.viewHolderIndex.setText("ViewHolder index: " + viewHolderCount); int backgroundColorForViewHolder = ColorUtils .getViewHolderBackgroundColorFromInstance(context, viewHolderCount); viewHolder.itemView.setBackgroundColor(backgroundColorForViewHolder); viewHolderCount++; Log.d(TAG, "onCreateViewHolder: number of ViewHolders created: " + viewHolderCount); return viewHolder; }
/** * * This gets called when each new ViewHolder is created. This happens when the RecyclerView * is laid out. Enough ViewHolders will be created to fill the screen and allow for scrolling. * * @param viewGroup The ViewGroup that these ViewHolders are contained within. * @param viewType If your RecyclerView has more than one type of item (which ours doesn't) you * can use this viewType integer to provide a different layout. See * {@link android.support.v7.widget.RecyclerView.Adapter#getItemViewType(int)} * for more details. * @return A new NumberViewHolder that holds the View for each list item */ @Override public NumberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { Context context = viewGroup.getContext(); int layoutIdForListItem = R.layout.number_list_item; LayoutInflater inflater = LayoutInflater.from(context); boolean shouldAttachToParentImmediately = false; View view = inflater.inflate(layoutIdForListItem, viewGroup, shouldAttachToParentImmediately); NumberViewHolder viewHolder = new NumberViewHolder(view); viewHolder.viewHolderIndex.setText("ViewHolder index: " + viewHolderCount); int backgroundColorForViewHolder = ColorUtils .getViewHolderBackgroundColorFromInstance(context, viewHolderCount); viewHolder.itemView.setBackgroundColor(backgroundColorForViewHolder); viewHolderCount++; Log.d(TAG, "onCreateViewHolder: number of ViewHolders created: " + viewHolderCount); return viewHolder; }
.getViewHolderBackgroundColorFromInstance(context, viewHolderCount);
/** * * This gets called when each new ViewHolder is created. This happens when the RecyclerView * is laid out. Enough ViewHolders will be created to fill the screen and allow for scrolling. * * @param viewGroup The ViewGroup that these ViewHolders are contained within. * @param viewType If your RecyclerView has more than one type of item (which ours doesn't) you * can use this viewType integer to provide a different layout. See * {@link android.support.v7.widget.RecyclerView.Adapter#getItemViewType(int)} * for more details. * @return A new NumberViewHolder that holds the View for each list item */ @Override public NumberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { Context context = viewGroup.getContext(); int layoutIdForListItem = R.layout.number_list_item; LayoutInflater inflater = LayoutInflater.from(context); boolean shouldAttachToParentImmediately = false; View view = inflater.inflate(layoutIdForListItem, viewGroup, shouldAttachToParentImmediately); NumberViewHolder viewHolder = new NumberViewHolder(view); viewHolder.viewHolderIndex.setText("ViewHolder index: " + viewHolderCount); int backgroundColorForViewHolder = ColorUtils .getViewHolderBackgroundColorFromInstance(context, viewHolderCount); viewHolder.itemView.setBackgroundColor(backgroundColorForViewHolder); viewHolderCount++; Log.d(TAG, "onCreateViewHolder: number of ViewHolders created: " + viewHolderCount); return viewHolder; }
.getViewHolderBackgroundColorFromInstance(context, viewHolderCount));