ACTION_PICK을 이용해서 주소록을 가져왔습니다.
이름과 전화번호로 가져왔는데요
여기에 추가적으로 체크박스와 하단부분에 버튼을 추가하고싶습니다.
그래서 리스트뷰에 연결을해서 커스텀어뎁터를 통해서 뿌려주려고 하는데요.. 실행을 해보면 그냥 이름과 전화번호만나오네요..
ACTION_PICK을 이용하면 커스텀리스트뷰를 구성할수 없는건가요..??
이미지와 코딩은 이렇습니다.
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setData(ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivity(intent);
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
if(resultCode == RESULT_OK)
{
Cursor contactCursor = getContentResolver().query(data.getData(),
new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, null);
contactCursor.moveToFirst();
contacts = new ArrayList<String>();
if (contactCursor.moveToFirst()) {
do {
contacts.add(contactCursor.getString(0) + ":" + contactCursor.getString(1));
} while (contactCursor.moveToNext());
}
// Cursor를 다 사용했을경우 colse를 해야한다.
if (contactCursor != null) {
contactCursor.close();
contactCursor = null;
}
}
super.onActivityResult(requestCode, resultCode, data);
}
==== 이름과 전화번호를 contacts ArrayList<String> 에 담아서 어뎁터에서 구현합니다. ======
어뎁터부분
public class ContactAdapter extends BaseAdapter {
protected static CheckBox itemcheck;
private List<String> contacts;
public ContactAdapter(Context context, int layout, List<String> contacts){
this.contacts = contacts;
}
public int getCount() {
return this.contacts.size();
}
public Object getItem(int position) {
return contacts.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.phonelist, parent, false);
holder = new ViewHolder();
holder.checkBox = (CheckBox) convertView.findViewById(R.id.itemcheck);
holder.contactNameTextView = (TextView) convertView.findViewById(R.id.phonename);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
String contact = contacts.get(position);
holder.contactNameTextView.setText(contact);
holder.checkBox.setChecked(((ListView)parent).isItemChecked(position));
holder.checkBox.setFocusable(false);
holder.checkBox.setClickable(false);
return convertView;
}
static class ViewHolder {
CheckBox checkBox;
TextView contactNameTextView;
}
}




convertView 에 체크박스를 add 하는 부분이 없는데요 ...