Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android BulkInsert-引发nullPointerException的ContentValues数组_Android_Arrays - Fatal编程技术网

Android BulkInsert-引发nullPointerException的ContentValues数组

Android BulkInsert-引发nullPointerException的ContentValues数组,android,arrays,Android,Arrays,我在bulkInsert上得到一个nullPointerException。不知道为什么。内容值似乎是正确的。我不确定是否正确地将其转换为CV数组 if (contactList != null && !contactList.isEmpty()) { ContentValues cv = new ContentValues(); List<ContentValues>valueList = new ArrayList<Conte

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

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);
    }
if(contactList!=null&&!contactList.isEmpty()){
ContentValues cv=新的ContentValues();
ListvalueList=新的ArrayList();
ContentValues[]vc=新的ContentValues[contactList.size()];
for(HashMap userDict:contactList){
进度。设置进度(contactsLoaded);
//初始化我们要查找的值。在本例中,cn(通用名)、sn(姓氏)、别名、sipExt。
字符串cn=userDict.get(“cn”).toString();
字符串sn=userDict.get(“sn”).toString();
字符串别名=userDict.get(“用户名”).toString();
字符串sipExt=userDict.get(“sipExt”).toString();
cv=新内容值();
cv.put(contacts contract.Data.MIMETYPE、contacts contract.commondatatypes.StructuredName.CONTENT\u ITEM\u TYPE);
cv.put(ContactsContract.CommonDataTypes.StructuredName.DISPLAY\u NAME,cn);
cv.put(ContactsContract.CommonDataTypes.StructuredName.FAMILY_NAME,序列号);
cv.put(ContactsContract.CommonDataTypes.StructuredName.PREFIX,别名);
cv.put(ContactsContract.CommonDataTypes.StructuredName.GIVEN_NAME,sipExt);
价值清单。添加(cv);
contactsLoaded++;
}
系统输出打印项次(“CV:+valueList”);
vc=valueList.toArray(vc);
System.out.println(“VC:+VC”);
myActivity.getContentResolver().bulkInsert(ContactsContract.Data.CONTENT\u URI,vc);
}

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

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);
}
if(contactList!=null&&!contactList.isEmpty()){
ContentValues[]cv=新的ContentValues[contactList.size()];
对于(int i=0;i
仍在获取空指针:(