內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