首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看ContactsContract是否有照片

如何查看ContactsContract是否有照片
EN

Stack Overflow用户
提问于 2016-07-07 01:19:37
回答 0查看 107关注 0票数 1

我能够获取我的所有联系人并将其显示在列表视图中。我也得到了隐形眼镜的照片。我的问题是,如果联系人没有照片,我的列表视图不会显示任何内容(空白)。我试着在某个地方查看ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI是否有照片,但我找不到方法。

在简历中,我想要是,如果联系人有照片显示照片,如果没有,则显示一个图标。

任何帮助都将被感谢!

代码:

代码语言:javascript
复制
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");
    }
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38229960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档