内RecyclerView.Adapter改变主视图的参考,我们可以改变我们把viewholder从onCreateViewHolder方法类似RecyclerView.Adapter在onBindViewHolder
@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;
}
}
主视图但它不改变主视图,甚至不扔任何异常。 请帮我理解为什么它是这样的?如果我们再次滚动浏览该视图或其他内容,该视图是否保存我们的视图以供重用?
我的主要问题是我们可以在onBinderViewHolder() –
中更改主视图您不能在'onBindViewHolder()'中更改它。你必须结合使用'getItemViewType'和onBindViewHolder来实现你想要的(你必须知道视图类型的数量)。如果这种行为不符合您的需求,请尝试解释用例,以便我可以提供更好的支持 – krumikaze