android 获取通讯录全选反选_Android通讯录开发之实现全选、反选功能

package com.suntek.mobilemeeting.adapter;

import java.util.ArrayList;

import java.util.HashMap;

import android.content.Context;

import android.text.TextUtils;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.CheckBox;

import android.widget.TextView;

import com.suntek.mobilemeeting.R;

import com.suntek.mobilemeeting.model.Contact;

/**

* 本地联系人适配器

*

* @author wwj

*

*/

public class LocalContactAdapter extends BaseAdapter {

private HashMap lmap = new HashMap();

private ArrayList contactList;

private Context context;

private HashMap map_NumberSelected = null;

private String kind;

public class ViewHolder {

public TextView contactName;

public TextView contactMobile;

public TextView contactEmail;

public CheckBox checkBox;

}

public LocalContactAdapter(Context context, ArrayList contactList,

String kind) {

this.contactList = contactList;

this.context = context;

map_NumberSelected = new HashMap();

this.kind = kind;

}

@Override

public int getCount() {

return contactList.size();

}

@Override

public Object getItem(int position) {

return contactList.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder;

if (convertView == null) {

holder = new ViewHolder();

LayoutInflater inflater = (LayoutInflater) context

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

convertView = inflater.inflate(R.layout.local_contact_list_item,

null);

holder.contactName = (TextView) convertView

.findViewById(R.id.name_tv);

holder.contactMobile = (TextView) convertView

.findViewById(R.id.number_tv);

holder.contactEmail = (TextView) convertView

.findViewById(R.id.email_tv);

holder.checkBox = (CheckBox) convertView

.findViewById(R.id.local_contact_checkbox);

// lmap.put(position, convertView);

convertView.setTag(holder);

} else {

// convertView = lmap.get(position);

holder = (ViewHolder) convertView.getTag();

}

Contact contact = contactList.get(position);

if (contact.getName() == "" || contact.getName() == null) {

String name = "未知";

holder.contactName.setText(name);

} else {

holder.contactName.setText(contact.getName());

}

if (kind != null && kind.equals("email")) {

if (!TextUtils.isEmpty(contact.getEmail())) {

holder.contactEmail.setText(contact.getEmail());

holder.contactMobile.setVisibility(View.GONE);

}

} else if (!TextUtils.isEmpty(contact.getNumber())) {

holder.contactMobile.setText(contact.getNumber());

holder.contactEmail.setVisibility(View.GONE);

} else {

holder.contactMobile.setVisibility(View.GONE);

holder.contactEmail.setVisibility(View.GONE);

}

// 显示是否选中状态

holder.checkBox.setChecked(map_NumberSelected.get(contact));

return convertView;

}

public void setContactList(ArrayList contactList) {

this.contactList = contactList;

}

public void setMap_NumberSelected(

HashMap map_NumberSelected) {

this.map_NumberSelected = map_NumberSelected;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值