首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抛出nullPointerException的BulkInsert - ContentValues数组

抛出nullPointerException的BulkInsert - ContentValues数组
EN

Stack Overflow用户
提问于 2013-05-30 06:26:16
回答 1查看 1.5K关注 0票数 0

我在bulkInsert上得到了一个nullPointerException。不知道为什么。ContentValues似乎是正确的。我不确定我是否正确地将它转换为CV数组。

代码语言:javascript
复制
if (contactList != null && !contactList.isEmpty()) {
        ContentValues cv = new ContentValues();
        List<ContentValues>valueList = new ArrayList<ContentValues>();
        ContentValues[] vc = new ContentValues[contactList.size()];
        for (HashMap<String, Object> userDict : contactList) {
            progress.setProgress(contactsLoaded);

            // Initialize values we're looking for. In this case, cn (common name), sn (surname), alias, sipExt.
            String cn = userDict.get("cn").toString();
            String sn = userDict.get("sn").toString();
            String alias = userDict.get("username").toString();
            String sipExt = userDict.get("sipExt").toString();


            cv = new ContentValues();
            cv.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
            cv.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, cn);
            cv.put(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, sn);
            cv.put(ContactsContract.CommonDataKinds.StructuredName.PREFIX, alias);
            cv.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, sipExt);
            valueList.add(cv);

            contactsLoaded++;

        }
        System.out.println("CV: "+valueList);   
        vc = valueList.toArray(vc);
        System.out.println("VC: "+vc);
        myActivity.getContentResolver().bulkInsert(ContactsContract.Data.CONTENT_URI, vc);
    }
EN

回答 1

Stack Overflow用户

发布于 2013-05-30 06:56:17

您的cv变量不是必需的,因为您已经知道数组的大小。试试这个:

代码语言:javascript
复制
if (contactList != null && !contactList.isEmpty()) {

    ContentValues[] cv = new ContentValues[contactList.size()];

    for (int i = 0; i < contactList.size(); i++) {

        HashMap<String, Object> userDict = contactList.get(i);
        progress.setProgress(contactsLoaded);

        // Initialize values we're looking for. In this case, cn (common name), sn (surname), alias, sipExt.
        String cn = userDict.get("cn").toString();
        String sn = userDict.get("sn").toString();
        String alias = userDict.get("username").toString();
        String sipExt = userDict.get("sipExt").toString();


        ContentValues contentValues = new ContentValues();
        contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
        contentValues.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, cn);
        contentValues.put(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, sn);
        contentValues.put(ContactsContract.CommonDataKinds.StructuredName.PREFIX, alias);
        contentValues.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, sipExt);
        cv[i] = contentValues;

        contactsLoaded++;

    }
    myActivity.getContentResolver().bulkInsert(ContactsContract.Data.CONTENT_URI, cv);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16824947

复制
相关文章

相似问题

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