从下面两图中可以看到重复的两个分组的account_type是不同的,其中值的应该是手机中的分组,无值的是手机卡中的分组。account_type是账户类型的意思。
这个界面是从上面的分组列表界面跳过来的,要先建上面的界面才行。
package com.iteedu.www; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; public class GroupContactListActivity extends Activity{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); String id = this.getIntent().getExtras().getString("id"); Cursor cur = this.getContentResolver().query( ContactsContract.Groups.CONTENT_URI, null, ContactsContract.Groups._ID+"="+id, null, null); int columnNumber = cur.getColumnCount(); String cn = ""; if (cur.getCount() > 0) { cur.moveToFirst();//只查第一条 for (int i = 0; i < columnNumber; i++) { String cname = cur.getColumnName(i); String content = cur.getString(i); cn = cn + "\n" + cname + ":\t\t" + content; } } cur.close(); TextView tv = new TextView(this); tv.setText(cn); setContentView(tv); } public void showContact(View v) { Intent intent1 = new Intent(this, ContactActivity.class); String id = ((TextView) v.findViewById(R.id.id)).getText().toString(); intent1.putExtra("id", id); startActivity(intent1); } }