caching status view holder to make it faster
This commit is contained in:
parent
196ddfe9cb
commit
46aea213ee
|
@ -1060,6 +1060,7 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
||||||
private StatusAdapterListener mStatusAdapterListener;
|
private StatusAdapterListener mStatusAdapterListener;
|
||||||
|
|
||||||
private RecyclerView mRecyclerView;
|
private RecyclerView mRecyclerView;
|
||||||
|
private DetailStatusViewHolder mStatusViewHolder;
|
||||||
|
|
||||||
public StatusAdapter(StatusFragment fragment, boolean compact) {
|
public StatusAdapter(StatusFragment fragment, boolean compact) {
|
||||||
setHasStableIds(true);
|
setHasStableIds(true);
|
||||||
|
@ -1252,6 +1253,22 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewDetachedFromWindow(ViewHolder holder) {
|
||||||
|
if (holder instanceof DetailStatusViewHolder) {
|
||||||
|
mStatusViewHolder = (DetailStatusViewHolder) holder;
|
||||||
|
}
|
||||||
|
super.onViewDetachedFromWindow(holder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewAttachedToWindow(ViewHolder holder) {
|
||||||
|
if (holder == mStatusViewHolder) {
|
||||||
|
mStatusViewHolder = null;
|
||||||
|
}
|
||||||
|
super.onViewAttachedToWindow(holder);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isLoadMoreIndicatorVisible() {
|
public boolean isLoadMoreIndicatorVisible() {
|
||||||
return mLoadMoreIndicatorVisible;
|
return mLoadMoreIndicatorVisible;
|
||||||
|
@ -1283,6 +1300,9 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
||||||
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||||
switch (viewType) {
|
switch (viewType) {
|
||||||
case VIEW_TYPE_DETAIL_STATUS: {
|
case VIEW_TYPE_DETAIL_STATUS: {
|
||||||
|
if (mStatusViewHolder != null) {
|
||||||
|
return mStatusViewHolder;
|
||||||
|
}
|
||||||
final View view;
|
final View view;
|
||||||
if (mIsCompact) {
|
if (mIsCompact) {
|
||||||
view = mInflater.inflate(R.layout.header_status_compact, parent, false);
|
view = mInflater.inflate(R.layout.header_status_compact, parent, false);
|
||||||
|
|
Loading…
Reference in New Issue