Inside RecyclerView.Adapter, can we change the main view that we put in viewholder from onCreateViewHolder method like
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View mView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.inflate_common_item, viewGroup, false);
ViewHolder vh = new ViewHolder(mView);
return vh;
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
if(viewHolder instanceof ViewHolder) {
View view = new View(mContext);
view.setBackGroundColor(color);
ViewHolder mViewHolder = (ViewHolder)viewHolder;
mViewHolder.mMainView = view;
}
}
public static class ViewHolder extends RecyclerView.ViewHolder {
protected View insideview;
public ViewHolderFooter(View v) {
super(v);
insideview = v;
}
}
But it's not changing the main view and not even throwing any exception. Please help me understand the point why it is so? Is it that viewholder save our view to reuse if we again scroll through that view or something else?