1
我有一個絕對的噩夢讓我的聯繫人活動工作 - 我知道這是一個常見問題,但我似乎無法將現有解決方案應用於我的代碼 - 我無法理解這一點。任何幫助將非常感激,我在這裏撕掉我的頭髮。如何檢索聯繫人的電話號碼(Android)?
public class nominateContactsActivity extends ListActivity {
public String strName;
public String strLoginCode;
public String strTelNo;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.nominatecontactsactivitytest);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
startManagingCursor(cursor);
String[] contacts = new String[] {ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
String[] columns = new String[] { ContactsContract.Contacts.DISPLAY_NAME};
int[] to = new int[] { android.R.id.text1 };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice, cursor, columns, to);
this.setListAdapter(adapter);
Button finishButton = (Button) this.findViewById(R.id.finishButton);
finishButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SimpleCursorAdapter adapter = (SimpleCursorAdapter) nominateContactsActivity.this.getListAdapter();
Cursor cursor = adapter.getCursor();
ListView lv = nominateContactsActivity.this.getListView();
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
for (int i = 0; i < selectedItems.size(); i++) {
int selectedPosition = selectedItems.keyAt(i);
cursor.moveToPosition(selectedPosition);
Log.d("", cursor.getString(cursor.getColumnIndex(
ContactsContract.Contacts.DISPLAY_NAME))+" is checked");
Log.d("", "row id: "+adapter.getItemId(selectedPosition));
}
}
});
我使用上面的代碼返回聯繫人列表 - 這工作得很好,顯示聯繫人的姓名在ListView爲我所願。然而,沒有電話號碼檢索,我只是不知道如何得到它們。
謝謝
謝謝你,謝謝你,謝謝你! 這讓我瘋狂了兩週。 – user1593869 2013-03-16 04:11:21
歡迎...... :)很高興它幫助你。 :) – GrIsHu 2013-03-16 04:23:20
再次,非常感謝您的幫助之前 - 我現在有一個新的問題... 我只有一個聯繫在分貝後呢? (ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null,null); (phones.moveToNext()) { \t strName = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); (電話號碼)。 uploadContacts(); phones.close();}' – user1593869 2013-03-16 14:53:53