package com.cheikh.lazywaimai.base;
import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
import android.support.annotation.StringRes;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import butterknife.ButterKnife;
import com.cheikh.lazywaimai.util.ViewEventListener;
/**
* author:cheikh.wang on 16/10/21 23:33
* email:wanghonghi@126.com
*/
public abstract class BaseViewHolder<T> extends RecyclerView.ViewHolder implements IViewHolder<T> {
protected ViewEventListener<T> mViewEventListener;
protected T mItem;
protected int mPosition;
public BaseViewHolder(View view) {
super(view);
ButterKnife.bind(this, itemView);
}
@Override
public void setViewEventListener(ViewEventListener<T> viewEventListener) {
mViewEventListener = viewEventListener;
}
@Override
public void setItem(T item) {
mItem = item;
}
@Override
public void setPosition(int position) {
mPosition = position;
}
protected void notifyItemAction(int actionId, T item, View view) {
if (mViewEventListener != null) {
mViewEventListener.onViewEvent(actionId, item, getAdapterPosition(), view);
}
}
protected void notifyItemAction(int actionId, T item) {
notifyItemAction(actionId, item, itemView);
}
protected void notifyItemAction(int actionId) {
notifyItemAction(actionId, mItem, itemView);
}
protected String getString(@StringRes int strResId) {
return itemView.getContext().getString(strResId);
}
protected String getString(@StringRes int stringResId, Object... formatArgs) {
return itemView.getContext().getResources().getString(stringResId, formatArgs);
}
@ColorInt
protected int getColor(@ColorRes int colorResId) {
return itemView.getContext().getResources().getColor(colorResId);
}
}