我认为您问题的解决方案是使用自定义列表适配器,其中每个项目都包含联系人姓名和联系人 ID,详细信息如下:
1)尝试创建自定义联系人项目bean,包括2个属性:contactID、contactName
public class contactItem{
private long contactID;
private String contactName;
//...
}
创建自定义联系人适配器:
public class CustomContactAdapter extends ArrayAdapter<contactItem>{
ArrayList<contactItem> itemList = null;
//Constructor
public CustomContactAdapter (Context context, int MessagewResourceId,
ArrayList<contactItem> objects, Handler handler) {
//Save objects and get LayoutInflater
itemList = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
final ReceiveMailStruct contact= items.get(position);
if (contact!= null) {
view = inflater.inflate(R.layout.layout_display_contact_item, null);
//Set view for contact here
}
}
}
搜索自定义适配器以获取更多信息
2)要处理 ListView 上的单击事件,您必须为 listitem 注册一个处理程序:
步骤1:将处理程序注册到列表项:
lvContacts.setOnItemClickListener(new HandlerListClickEvent());
Step2:点击项目时执行处理(选中/取消选中)
class HandlerListClickEvent implements OnItemClickListener {
public void onItemClick( AdapterView<?> adapter, View view, int position, long id ) {
//Get contact ID here base on item position
}
希望有帮助,
问候,