2012-05-15 51 views
0

我試圖以編程方式修改聯繫人的名字和姓氏。 ,我已經爲了做這項工作中所使用的代碼片段是以下之一:以編程方式修改本地聯繫人

operations.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) 
    .withSelection(RawContacts._ID + "=?", 
    new String[] { String.valueOf(mSmartphoneContactKey) }) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, 
    mContactName.getEditableText().toString()) 
     .withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, 
     mContactLastName.getEditableText().toString())       
     .build()); 

mSmartphoneContactKey與包含在列

ContactsContract.Contacts._ID 

這是坐在數據填入當我使用內容提供者閱讀聯繫人時我的投影數組。

問題是,對於某些聯繫人姓名和姓氏未被修改,而是修改了電話類型。其實我對這個原因沒有任何線索。 任何意見表示讚賞。


我讀過更多的文檔數據表是我必須使用的。 我修改的代碼如下......仍然沒有工作

 operations.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) 
       .withSelection(Data._ID + " = ? AND " + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE + "'", 
         new String[] { String.valueOf(mSmartphoneContactId) }) 
         .withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, mContactName.getEditableText().toString()) 
         .withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, mContactLastName.getEditableText().toString())        
         .build()); 

請幫幫我!

+0

我能夠獲得本地聯繫人以及聯繫人ID。但是我在編輯同一聯繫人並使用聯繫人ID刪除同一聯繫人時遇到了問題。我該如何解決這個問題。 – AndroidRaji

+0

這裏是什麼是「mSmartphoneContactId」..無論它是指Data.ID還是RawContacts._ID。請告訴我 – AndroidRaji

+0

請分享代碼以將聯繫人添加到本地聯繫人以及如何獲取該ID並使用該ID如何編輯和刪除聯繫人。 – AndroidRaji

回答

1

好的已解決! 錯誤的ID傳遞。 需要沿着DATA表中的數據檢索ID。

相關問題