package com.android.smap.adapters;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.android.smap.api.models.Contact;
import com.android.smap.R;
import com.google.inject.Inject;
public class ContactAdapter extends ArrayAdapter<Contact> {
private Activity activity;
private List<Contact> items;
private int row;
private Contact objContact;
@Inject
public ContactAdapter(Activity Act, int Row, List<Contact> Item) {
super(Act, Row, Item);
this.activity = Act;
this.row = Row;
this.items = Item;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent){
View view = convertView;
ViewHolder holder;
if(view == null){
LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(row, null);
holder = new ViewHolder();
view.setTag(holder);
}else{
holder = (ViewHolder) view.getTag();
}
if ((items == null) || ((position + 1) > items.size()))
return view;
objContact = items.get(position);
holder.contactname = (TextView) view.findViewById(R.id.contactname);
holder.contactPhoneNo = (TextView) view.findViewById(R.id.contactphone);
if(holder.contactname != null && null != objContact.getName() && objContact.getName().trim().length() > 0){
holder.contactname.setText(Html.fromHtml(objContact.getName()));
}
if(holder.contactPhoneNo != null && null != objContact.getNumber() && objContact.getNumber().trim().length() > 0){
holder.contactPhoneNo.setText(objContact.getNumber());
}
return view;
}
public class ViewHolder {
public TextView contactname, contactPhoneNo;
}
}
//contactAdapter.java