使用ContentProvider管理联系人 (二)

2014-11-24 10:21:36 · 作者: · 浏览: 1

String email = emailCursor
.getString(emailCursor
.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
detailList.add(email);
}
emailCursor.close();
infoList.add(detailList);
}
cursor.close();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.read_contact_main);
initData();
elv = (ExpandableListView) findViewById(R.id.read_contact_main_elv);
addContactBtn = (Button) findViewById(R.id.read_contact_main_btn_add);
addContactBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(ReadContactActivity.this,
SaveContactActivity.class);
startActivity(intent);
}
});

adapter = new BaseExpandableListAdapter() {

@Override
public boolean isChildSelectable(int groupPosition,
int childPosition) {
return true;
}

@Override
public boolean hasStableIds() {
return true;
}

@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
TextView tv = new TextView(ReadContactActivity.this);
tv.setText(namesList.get(groupPosition));
tv.setPadding(50, 10, 10, 10);
return tv;
}

@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}

@Override
public int getGroupCount() {
return namesList.size();
}

@Override
public Object getGroup(int groupPosition) {
return namesList.get(groupPosition);
}

@Override
public int getChildrenCount(int groupPosition) {
return infoList.get(groupPosition).size();
}

@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
TextView tv = new TextView(ReadContactActivity.this);
tv.setText(infoList.get(groupPosition).get(childPosition));
tv.setPadding(10, 10, 10, 10);
return tv;
}

@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}

@Override
public Object getChild(int groupPosition, int childPosition) {
return infoList.get(groupPosition).get(childPosition);
}
};
elv.setAdapter(adapter);
}

// 添加联系人完成后回调此方法,更新adapter数据
@Override
protected void onResume() {
super.onResume();
initData();