0
我有一個「聯繫」類,我使用Android的標準聯繫人選擇器代碼,但我想獲得聯繫人的「ID」和「名稱」,不只是數字...這是我的代碼。獲取聯繫人的ID,姓名和電話號碼?
@Override public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == PICK_CONTACT_REQUEST) {
if (resultCode == RESULT_OK) {
Uri contactUri = intent.getData();
String[] projection = {Phone.NUMBER};
Cursor cursor = getContentResolver()
.query(contactUri, projection, null, null, null);
cursor.moveToFirst();
int column = cursor.getColumnIndex(Phone.NUMBER);
String number = cursor.getString(column);
int contactNumber = Integer.parseInt(number);
//i need to get the contactId and the contactName here
Contact newContact = new Contact(contactId,contactName,contactNumber);
EditText _contactName = (EditText) findViewById(R.id.contact_name);
_contactName.setText(number.toString());
}
}
}
我找到了解決方案。這是如果有人需要它。
Uri contactUri = intent.getData();
String[] projection = {Phone.NUMBER, Phone.DISPLAY_NAME, Phone._ID};
Cursor cursor = getContentResolver()
.query(contactUri, projection, null, null, null);
cursor.moveToFirst();
int columnNumber = cursor.getColumnIndex(Phone.NUMBER);
String contactNumber = cursor.getString(columnNumber);
int columnName = cursor.getColumnIndex(Phone.DISPLAY_NAME);
String contactName = cursor.getString(columnName);
int columnID = cursor.getColumnIndex(Phone._ID);
String ID = cursor.getString(columnID);
int contactID = Integer.parseInt(ID);
是的,我正在關注一個教程(這是我的第一天的Java和Android的編程),我很困惑這些投影,遊標等......謝謝btw! – Kitze 2013-03-27 11:47:57