not loaded item setup added

This commit is contained in:
Gavriil Sitnikov 2016-02-24 20:33:44 +03:00
parent a0b9326ab2
commit a0389e4ffa
1 changed files with 13 additions and 8 deletions

View File

@ -22,21 +22,21 @@ package ru.touchin.roboswag.components.listing.adapters;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;
import ru.touchin.roboswag.components.R;
import ru.touchin.roboswag.components.listing.ItemsProvider;
import ru.touchin.roboswag.components.listing.ListProvider;
import ru.touchin.roboswag.components.utils.UiUtils;
import ru.touchin.roboswag.core.log.Lc;
import ru.touchin.roboswag.core.utils.ShouldNotHappenException;
import java.util.List;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Actions;
@ -113,11 +113,16 @@ public abstract class AbstractItemsAdapter<TItem, TViewHolder extends RecyclerVi
@Override
public RecyclerView.ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {
if (viewType == NOT_LOADED_ITEM_TYPE) {
return new NotLoadedItemViewHolder(UiUtils.inflate(R.layout.item_not_loaded, parent));
return new NotLoadedItemViewHolder(UiUtils.inflate(getNotLoadedItemLayoutRes(), parent));
}
return onCreateItemViewHolder(parent, viewType);
}
@LayoutRes
protected int getNotLoadedItemLayoutRes() {
return R.layout.item_not_loaded;
}
public abstract TViewHolder onCreateItemViewHolder(final ViewGroup parent, final int viewType);
@SuppressWarnings("unchecked")
@ -167,6 +172,10 @@ public abstract class AbstractItemsAdapter<TItem, TViewHolder extends RecyclerVi
return itemsProvider != null ? itemsProvider.getSize() : 0;
}
public boolean isOnClickListenerDisabled(@NonNull final TItem item) {
return false;
}
public static class NotLoadedItemViewHolder extends RecyclerView.ViewHolder {
private final View progressBar;
@ -206,10 +215,6 @@ public abstract class AbstractItemsAdapter<TItem, TViewHolder extends RecyclerVi
}
public boolean isOnClickListenerDisabled(@NonNull final TItem item) {
return false;
}
public interface OnItemClickListener<TItem> {
void onItemClicked(@NonNull TItem item, int position);