1
我想知道:存儲在手機默認聯繫人中的所有聯繫人的ID,姓名,電話號碼和公司名稱。之後,我想將它們顯示在列表視圖中。 我使用光標加載器來做到這一點。但是,我剛剛獲得每個聯繫人的ID和名稱。我無法獲得電話號碼&公司。你可以在下面看到我所有的代碼。如何使用遊標加載器獲取聯繫人的某些信息?
我想我可能是錯的:PROJECTION & SELECTION(?) 你的意見怎麼樣?你能告訴我我的錯誤是什麼嗎?
public class MainActivity extends ListActivity implements LoaderManager.LoaderCallbacks<Cursor>{
final Context context = this;
protected Intent intent;
protected TextView contactId;
protected ListView lv;
protected EditText inputSearch;
protected SimpleAdapter adapter;
SimpleCursorAdapter curAdapter;
public MatrixCursor extras;
SimpleCursorAdapter mAdapter;
static final String[] PROJECTION = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Organization.DATA};
static final String SELECTION = "("+
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + ContactsContract.Contacts._ID + " AND " +
ContactsContract.Data.CONTACT_ID + " = " + ContactsContract.Contacts._ID + " AND " +
ContactsContract.Data.MIMETYPE + " = " + ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE +
")";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] fromColumns = {ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Organization.DATA};
int[] toViews = { R.id.contactId,
R.id.contactName,
R.id.phone,
R.id.company};
mAdapter = new SimpleCursorAdapter(this,
R.layout.view_contact_entry, null,
fromColumns, toViews, 0);
setListAdapter(mAdapter);
getLoaderManager().initLoader(0, null, this);
}
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(this, ContactsContract.Contacts.CONTENT_URI,
PROJECTION, SELECTION, null, "DISPLAY_NAME ASC");
}
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
mAdapter.swapCursor(data);
}
public void onLoaderReset(Loader<Cursor> loader) {
mAdapter.swapCursor(null);
}
}
確定。這裏是logcat的所有信息: https://lh5.googleusercontent.com/-rXZ0iSq_CEg/Uf9bk-CmwBI/AAAAAAAAAVQ/SvieJesBqqQ/s800/Untitled.png
好主意,雷南班代拉! 我嘗試做到這一點,併成功獲得身份證,姓名,電話號碼。但是,公司名稱怎麼樣(?) – R700
對不起,忘了這個。這裏是: ContactsContract.CommonDataKinds.Organization.COMPANY –
我已經獲得每個聯繫人的ContactsContract.CommonDataKinds.Organization.COMPANY的值。他們是電話號碼(?) Organization.COMPANY和Phone.DISPLAY_NAME的值相同(!) 有什麼問題? – R700