Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jawnnypoo committed Apr 27, 2017
2 parents e71bb14 + 4f31236 commit 1015739
Showing 1 changed file with 25 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -153,36 +153,33 @@ private void recreateViews() {
mViewGroup.removeAllViews();
return;
}
for (int i = 0; i < mAdapter.getItemCount() || i < mViewGroup.getChildCount(); i++) {

//Within the bounds of the dataset
if (i < mAdapter.getItemCount()) {
int viewType = mAdapter.getItemViewType(i);
//This means the view could already exist
if (i < mViewGroup.getChildCount()) {
View child = mViewGroup.getChildAt(i);
Integer savedViewType = (Integer) child.getTag(R.id.adapter_layout_list_view_type);
RecyclerView.ViewHolder savedViewHolder = (RecyclerView.ViewHolder) child.getTag(R.id.adapter_layout_list_holder);

if (savedViewType != null && savedViewType == viewType && savedViewHolder != null) {
//perfect, it exists and is the right type, so just bind it
mAdapter.onBindViewHolder(savedViewHolder, i);
} else {
//it already existed, but something was wrong. So remove it and recreate it
addViewAt(viewType, i);
mViewGroup.removeView(child);
}
} else {
//Creating a brand new view
addViewAt(viewType, i);
}
int i;
for (i = 0; i < mAdapter.getItemCount(); i++) {

int viewType = mAdapter.getItemViewType(i);
//This means the view could already exist
if (i < mViewGroup.getChildCount()) {
View child = mViewGroup.getChildAt(i);
Integer savedViewType = (Integer) child.getTag(R.id.adapter_layout_list_view_type);
RecyclerView.ViewHolder savedViewHolder = (RecyclerView.ViewHolder) child.getTag(R.id.adapter_layout_list_holder);

if (savedViewType != null && savedViewType == viewType && savedViewHolder != null) {
//perfect, it exists and is the right type, so just bind it
mAdapter.onBindViewHolder(savedViewHolder, i);
} else {
//Outside the bounds of the dataset, so remove it
if (i < mViewGroup.getChildCount()) {
View child = mViewGroup.getChildAt(i);
mViewGroup.removeView(child);
}
//it already existed, but something was wrong. So remove it and recreate it
addViewAt(viewType, i);
mViewGroup.removeView(child);
}
} else {
//Creating a brand new view
addViewAt(viewType, i);
}
}

//Outside the bounds of the dataset, so remove it
if (i < mViewGroup.getChildCount()) {
mViewGroup.removeViews(i, mViewGroup.getChildCount() - i);
}
}
}

0 comments on commit 1015739

Please sign in to comment.