package com.commonsensenet.realfarm.view; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import com.commonsensenet.realfarm.R; import com.commonsensenet.realfarm.model.aggregate.UserAggregateItem; public class UserAggregateItemAdapter extends ArrayAdapter<UserAggregateItem> { /** Database provided that used to obtain the required data. */ /** * Creates a new UserAggregateItemAdapter instance. */ public UserAggregateItemAdapter(Context context, List<UserAggregateItem> userAggregates) { super(context, android.R.layout.simple_list_item_1, userAggregates); } public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.tpl_user_aggregate_item, null); } UserAggregateItem userAggregate = getItem(position); if (userAggregate != null) { TextView nameView = (TextView) v .findViewById(R.id.label_user_aggregate_user_name); TextView dateView = (TextView) v .findViewById(R.id.label_user_aggregate_date); ImageView avatarView = (ImageView) v .findViewById(R.id.icon_user_aggregate_user_avatar); ImageView differentiatorImageLeft = (ImageView) v .findViewById(R.id.label_user_aggregate_differentiator_left_image); ImageView differentiatorImageCenter = (ImageView) v .findViewById(R.id.label_user_aggregate_differentiator_center_image); ImageView differentiatorImageRight = (ImageView) v .findViewById(R.id.label_user_aggregate_differentiator_right_image); TextView differentiatorTextLeft = (TextView) v .findViewById(R.id.label_user_aggregate_differentiator_left_text); TextView differentiatorTextRight = (TextView) v .findViewById(R.id.label_user_aggregate_differentiator_right_text); nameView.setText(userAggregate.getName()); dateView.setText(userAggregate.getDate()); differentiatorTextLeft.setText(userAggregate.getLeftText()); differentiatorTextRight.setText(userAggregate.getRightText()); // adds the user image. int resId; if (userAggregate.getAvatar() != null) { resId = v.getResources().getIdentifier( userAggregate.getAvatar(), "drawable", "com.commonsensenet.realfarm"); } else { resId = R.drawable.farmer_default; } avatarView.setImageResource(resId); if (userAggregate.getLeftImage() != -1) differentiatorImageLeft.setImageResource(userAggregate .getLeftImage()); if (userAggregate.getCenterImage() != -1) differentiatorImageCenter.setImageResource(userAggregate .getCenterImage()); if (userAggregate.getRightImage() != -1) differentiatorImageRight.setImageResource(userAggregate .getRightImage()); } return v; } }