在我的活動課程中我重寫onCreateDialog()
方法 ,代碼有點像如下所示。 對話框現在列出我聯繫人列表中的所有項目。Android:從光標所創建的列表對話框中獲取所選項目的ID
當用戶點擊這個列表中的一個項目時,我想獲得點擊項目的聯繫人ID ,即字段Phone._ID
的值。
目前,我只能得到OnClickListener參數 which
的選定內容的位置(索引)。 如果在ListActivity中顯示的列表中我大概可以使用:
getListView().getItemIdAtPosition(which);
但在這裏我無法得到ListView的一個參考。 如何從使用光標創建的列表對話框中獲取單擊項目的ID。
protected Dialog onCreateDialog(int id) {
String[] projection = new String[] {
Phone._ID,
Phone.DISPLAY_NAME,
Phone.NUMBER
};
Cursor cursor = managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection, null, null, null);
return new AlertDialog.Builder(ContactActivity.this)
.setTitle("Select Contacts")
.setCursor(cursor,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
/* User clicked on a contact item */
Toast.makeText(getApplicationContext(),
"CLICKED-"+which,
Toast.LENGTH_SHORT).show();
}
}, ContactsContract.Contacts.DISPLAY_NAME)
.create();
}
在此先感謝