package com.nbs.client.assassins.navigation;
import com.nbs.client.assassins.R;
import com.nbs.client.assassins.R.id;
import com.nbs.client.assassins.R.layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
public class MenuEventItem implements MenuListItem {
private final LayoutInflater inflater;
private final MenuEventData row;
public MenuEventItem(LayoutInflater inflater, MenuEventData row)
{
this.inflater = inflater;
this.row = row;
}
@Override
public View getView(View convertView) {
MenuEventItem.ViewHolder holder;
View view;
//we don't have a convertView so we'll have to create a new one
if (convertView == null || !(convertView.getTag() instanceof MenuEventItem.ViewHolder)) {
ViewGroup viewGroup = (ViewGroup)inflater.inflate(R.layout.menu_event_item, null);
//use the view holder pattern to save already looked up subviews
holder = new MenuEventItem.ViewHolder((ImageView)viewGroup.findViewById(R.id.event_icon),
(TextView)viewGroup.findViewById(R.id.primary_text),
(TextView)viewGroup.findViewById(R.id.sub_text));
viewGroup.setTag(holder);
view = viewGroup;
} else {
//get the holder back out
holder = (MenuEventItem.ViewHolder)convertView.getTag();
view = convertView;
}
//actually setup the view
holder.imageView.setImageResource(row.getImageId());
holder.titleTextView.setText(row.getMainText());
holder.subTextView.setText(row.getSubText());
return view;
}
@Override
public int getViewType() {
return MenuItemType.MENU_EVENT.ordinal();
}
private static class ViewHolder {
final ImageView imageView;
final TextView titleTextView;
final TextView subTextView;
public ViewHolder(ImageView imageView, TextView titleTextView, TextView subTextView) {
this.imageView = imageView;
this.titleTextView = titleTextView;
this.subTextView = subTextView;
}
}
}