package info.jiangpeng.adapter; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.*; import info.jiangpeng.R; import info.jiangpeng.model.User; import java.util.ArrayList; public class ContactsAdapter extends BaseAdapter { private ArrayList<User> userList; private Activity activity; public ContactsAdapter(Activity activity) { userList = new ArrayList<User>(); this.activity = activity; } @Override public int getCount() { return userList.size(); } @Override public User getItem(int i) { return userList.get(i); } @Override public long getItemId(int i) { return Long.parseLong(userList.get(i).getId()); } @Override public View getView(int position, View convertView, ViewGroup parent) { System.out.println("------------position = " + position); RelativeLayout layout; if (convertView == null) { layout = new RelativeLayout(activity); String inflater = Context.LAYOUT_INFLATER_SERVICE; LayoutInflater vi = (LayoutInflater) activity.getSystemService(inflater); vi.inflate(R.layout.contact_item, layout, true); } else { layout = (RelativeLayout) convertView; } fillContentToView(getItem(position), layout); return layout; } private void fillContentToView(User user, RelativeLayout layout) { ((ImageView) layout.findViewById(R.id.contact_image)).setImageDrawable(user.getImageDrawable()); ((TextView) layout.findViewById(R.id.contact_name)).setText(user.getName()); ((TextView) layout.findViewById(R.id.contact_signature)).setText(user.getSignature()); } public void add(User user) { userList.add(user); notifyDataSetChanged(); } }