Я могу получить все мои контакты и отобразить их в списке. Я получаю фотографию контактов. Моя проблема в том, что если у контакта нет фотографии, в моем списке ничего не отображается (пробел). Я пытаюсь проверить место, если у ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI есть фотография или нет, но я не могу найти способ сделать это.Как проверить, есть ли у ContactsContract фото или нет
В резюме, что я хочу, если у контакта есть фото, на фото, если нет, отобразите значок.
Любая помощь будет полезной!
Код:
private final static String[] FROM_COLUMNS = {
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI
};
private final static int[] TO_IDS = {
R.id.contactName,
R.id.message_subtitle,
R.id.contact_imageview
};
private static final String[] PROJECTION = {
ContactsContract.CommonDataKinds.Phone._ID,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI
};
private static final String SELECTION = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ?";
private String[] mSelectionArgs = {"%%"};
private ListView mContactsList;
private SimpleCursorAdapter mCursorAdapter;
public contacts() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.contacts_list_fragment, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mContactsList = (ListView) getActivity().findViewById(R.id.contacts_list);
mCursorAdapter = new SimpleCursorAdapter(getActivity(), R.layout.list_item, null, FROM_COLUMNS, TO_IDS, 0);
mContactsList.setOnItemClickListener(this);
mContactsList.setAdapter(mCursorAdapter);
getLoaderManager().initLoader(0, null, this);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(getActivity(), ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PROJECTION, SELECTION, mSelectionArgs,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" ASC");
}