package com.silencedut.knowweather.common.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import com.silencedut.knowweather.common.UIInit;
import butterknife.ButterKnife;
/**
* Created by SilenceDut on 16/10/19.
*/
/**
* implement UIInit interface is convenient to generate views on ViewHolder
*/
public abstract class BaseViewHolder<T extends BaseAdapterData> extends RecyclerView.ViewHolder implements UIInit {
protected BaseRecyclerAdapter mBaseAdapter;
private Context mContext;
private LayoutInflater mLayoutInflater;
private void setUIContext(Context context) {
this.mContext = context;
this.mLayoutInflater = LayoutInflater.from(context);
}
protected LayoutInflater getLayoutInflater() {
return mLayoutInflater;
}
protected Context getContext() {
return mContext;
}
public BaseViewHolder(View itemView, BaseRecyclerAdapter baseRecyclerAdapter) {
super(itemView);
mBaseAdapter = baseRecyclerAdapter;
ButterKnife.bind(this, itemView);
setUIContext(itemView.getContext());
initBeforeView();
initViews();
}
@Override
public void initBeforeView() {
}
@Override
public void initViews() {
}
public abstract void updateItem(T data, int position);
}