public void setLookUpKey(String lookUpKey) {
this.lookUpKey = lookUpKey;
}
public int getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
public String getFormattedNumber() {
return formattedNumber;
}
public void setFormattedNumber(String formattedNumber) {
this.formattedNumber = formattedNumber;
}
public String getPinyin() {
return pinyin;
}
public void setPinyin(String pinyin) {
this.pinyin = pinyin;
}
}
适配器:
/Contact_Demo/src/com/suntek/contact/adapter/ContactListAdapter.java
package com.suntek.contact.adapter;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
import android.content.ContentUris;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.QuickContactBadge;
import android.widget.TextView;
import com.suntek.contact.R;
import com.suntek.contact.model.ContactBean;
import com.suntek.contact.view.QuickAlphabeticBar;
public class ContactListAdapter extends BaseAdapter {
private LayoutInflater inflater;
private List list;
private HashMap<String, Integer> alphaIndexer; // 字母索引
private String[] sections; // 存储每个章节
private Context ctx; // 上下文
public ContactListAdapter(Context context, List list,
QuickAlphabeticBar alpha) {
this.ctx = context;
this.inflater = LayoutInflater.from(context);
this.list = list;
this.alphaIndexer = new HashMap<String, Integer>();
this.sections = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
// 得到字母
String name = getAlpha(list.get(i).getSortKey());
if (!alphaIndexer.containsKey(name)) {
alphaIndexer.put(name, i);
}
}
Set sectionLetters = alphaIndexer.keySet();
ArrayList sectionList = new ArrayList(sectionLetters);
Collections.sort(sectionList); // 根据首字母进行排序
sections = new String[sectionList.size()];
sectionList.toArray(sections);
alpha.setAlphaIndexer(alphaIndexer);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public void remove(int position) {
list.remove(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.contact_list_item, null);
holder = new ViewHolder();
holder.quickContactBadge = (QuickContactBadge) convertView
.findViewBy