importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ImageView;importandroid.widget.TextView;/*** This class provides data as Views. It is designed to support both ListView and GridView by
* changing a layout resource file to inflate.*/
public class MeatAdapter extendsBaseAdapter {private finalLayoutInflater mLayoutInflater;private final intmResourceId;/*** Create a new instance of {@linkMeatAdapter}.
*
*@paraminflater The layout inflater.
*@paramresourceId The resource ID for the layout to be used. The layout should contain an
* ImageView with ID of "meat_image" and a TextView with ID of "meat_title".*/
public MeatAdapter(LayoutInflater inflater, intresourceId) {
mLayoutInflater=inflater;
mResourceId=resourceId;
}
@Overridepublic intgetCount() {returnMeat.MEATS.length;
}
@Overridepublic Meat getItem(intposition) {returnMeat.MEATS[position];
}
@Overridepublic long getItemId(intposition) {returnMeat.MEATS[position].resourceId;
}
@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {finalView view;finalViewHolder holder;if (null ==convertView) {
view= mLayoutInflater.inflate(mResourceId, parent, false);
holder= newViewHolder();holder.image=(ImageView) view.findViewById(R.id.meat_image);
holder.title=(TextView) view.findViewById(R.id.meat_title);
view.setTag(holder);
}else{
view=convertView;
holder=(ViewHolder) view.getTag();
}
Meat meat=getItem(position);
holder.image.setImageResource(meat.resourceId);
holder.title.setText(meat.title);returnview;
}private static classViewHolder {publicImageView image;publicTextView title;
}
}