我正在尝试显示多行,因为我的应用程序还支持聊天和呼叫服务。我想显示出与whatsap相同的效果,如下图所示。
我已经使用不同博客的一些帮助实现了同步适配器和所有其他功能。我已经成功添加了一行,但是我想要多行,因为我们可以在该图片中看到whatsap。我想显示多行,如图所示。
Please see this for better understanding
ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);
builder.withValue(RawContacts.ACCOUNT_NAME, Constants.ACCOUNT_NAME);
builder.withValue(RawContacts.ACCOUNT_TYPE, Constants.ACCOUNT_TYPE);
builder.withValue(RawContacts.SYNC1, contact.name);
ops.add(builder.build());
builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);
builder.withValue(ContactsContract.Data.MIMETYPE, "vnd.android.cursor.item/com.example.ajay.contacts_4");
builder.withValue(ContactsContract.Data.DATA1, contact.name);
builder.with Value(ContactsContract.Data.DATA2, "SyncProviderDemo Profile");
builder.withValue(ContactsContract.Data.DATA3, "View profile");
ops.add(builder.build());
try {
resolver.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:0)
正如您在问题中看到的,我仅使用ContentProviderOperation.newInsert插入了一次。但是当我为同一联系人添加多个时间然后应用该批处理时。 然后一个联系人包含多行。
builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI); builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0); builder.withValue(ContactsContract.Data.MIMETYPE, “ vnd.android.cursor.item / com.example.ajay.contacts_4”); builder.withValue(ContactsContract.Data.DATA1,contact.name); builder.with Value(ContactsContract.Data.DATA2,“ SyncProviderDemo配置文件”); builder.withValue(ContactsContract.Data.DATA3,“呼叫” +号码); ops.add(builder.build());
builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI); builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0); builder.withValue(ContactsContract.Data.MIMETYPE, “ vnd.android.cursor.item / com.example.ajay.contacts_4”); builder.withValue(ContactsContract.Data.DATA1,contact.name); builder.with Value(ContactsContract.Data.DATA2,“ SyncProviderDemo配置文件”); builder.withValue(ContactsContract.Data.DATA3,“消息” +数字); ops.add(builder.build()); 尝试{ resolver.applyBatch(ContactsContract.AUTHORITY,ops); } catch(Exception e){ e.printStackTrace(); }