package ua.kpi.ecampus.ui.adapter;
import android.content.Context;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import ua.kpi.ecampus.model.Subsystem;
import ua.kpi.ecampus.util.CollectionValidator;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
/**
* SubsystemAdapter manages Subsystem data model and adapts it to
* RecyclerView, which is in MainNotAuthActivity.
* <p>
* Created by Administrator on 28.01.2016.
*/
public class SubsystemAdapter extends RecyclerView.Adapter<SubsystemAdapter
.ViewHolder> {
private Context mContext;
private List<Subsystem> mSubsystems;
public SubsystemAdapter(Context context, List<Subsystem> subsystem) {
mContext = context;
mSubsystems = subsystem;
}
public void setData(List<Subsystem> list) {
CollectionValidator.validateOnNull(list);
mSubsystems = list;
notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(ua.kpi
.ecampus.R.layout
.recycler_item_subsystem, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Subsystem subsystem = mSubsystems.get(position);
holder.name.setText(subsystem.getName());
holder.image.setImageDrawable(ContextCompat.getDrawable(mContext,
subsystem.getIconId()));
}
@Override
public int getItemCount() {
return (mSubsystems != null) ? mSubsystems.size() : 0;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
@Bind(ua.kpi.ecampus.R.id.text_view_subsystem_name)
TextView name;
@Bind(ua.kpi.ecampus.R.id.image_view_subsystem_image)
ImageView image;
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
}