ITEEDU

ContactListActivity

联系人列表。

package com.iteedu.www;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class ContactListActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		ContactAPI api = ContactAPI.getAPI();
		api.setCr(getContentResolver());
		ContactNameList cnl = api.newContactNameList();
		ArrayList<ContactName> cns = cnl.getContactNames();

		ArrayList<HashMap<String, Object>> items = new ArrayList<HashMap<String, Object>>();

		for (int i = 0; i < cns.size(); i++) {

			HashMap<String, Object> item = new HashMap<String, Object>();
			item.put("id", cns.get(i).getId());
			item.put("name", cns.get(i).getDisplayName());
			items.add(item);

		}

		SimpleAdapter adp = new SimpleAdapter(this, items,// 数据来源
				R.layout.contactlistitem,// 每一个user xml 相当ListView的一个组件
				new String[] { "id", "name" },// 分别对应view 的id
				new int[] { R.id.id, R.id.name });

		// 获取listview
		ListView lv = ((ListView) findViewById(R.id.contactlist));
		lv.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1,
					int position, long id) {
				// TODO Auto-generated method stub
				showContact(arg1);

			}
		});
		lv.setAdapter(adp);

	}

	public void showContact(View v) {
		Intent intent1 = new Intent(ContactListActivity.this,
				ContactActivity.class);
		String id = ((TextView) v.findViewById(R.id.id)).getText().toString();
		intent1.putExtra("id", id);

		startActivity(intent1);

	}
}