package org.techbooster.app.abc.views;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.techbooster.app.abc.R;
import org.techbooster.app.abc.models.ConferenceSession;
import java.util.ArrayList;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;
public class ConferenceSessionAdapter extends BindableAdapter<ConferenceSession> {
private List<ConferenceSession> mConferenceSessions = new ArrayList<ConferenceSession>();
public ConferenceSessionAdapter(Context context) {
super(context);
}
public void add(ConferenceSession entry) {
mConferenceSessions.add(entry);
}
public void addAll(List<ConferenceSession> entries) {
mConferenceSessions.addAll(entries);
}
@Override
public int getCount() {
return mConferenceSessions.size();
}
@Override
public ConferenceSession getItem(int position) {
return mConferenceSessions.get(position);
}
@Override
public long getItemId(int position) {
return mConferenceSessions.get(position).hashCode();
}
@Override
public View newView(LayoutInflater inflater, int position, ViewGroup container) {
View view = inflater.inflate(R.layout.listitem_conference_session, null, false);
new ViewHolder(view);
return view;
}
@Override
public void bindView(ConferenceSession item, int position, View view) {
ViewHolder holder = (ViewHolder) view.getTag();
holder.mBeginTime.setText(item.getBeginTime());
holder.mTitle.setText(item.getSessionTitle());
holder.mSpeaker.setText(item.getSpeakerName());
holder.mSpeakerProfile.setText(item.getSpeakerProfile());
holder.mDescription.setText(item.getDescription());
}
public static class ViewHolder {
@InjectView(R.id.begin_time)
TextView mBeginTime;
@InjectView(R.id.title)
TextView mTitle;
@InjectView(R.id.speaker)
TextView mSpeaker;
@InjectView(R.id.speaker_profile)
TextView mSpeakerProfile;
@InjectView(R.id.description)
TextView mDescription;
public final View root;
public ViewHolder(View root) {
ButterKnife.inject(this, root);
this.root = root;
root.setTag(this);
}
}
}