在 quickblock 示例聊天中,尝试为用户1-1添加阻止和取消阻止无法包含所有所需的项目。只有一个用户始终添加到列表中这是我的代码
privacyListsManager = QBChatService.getInstance().getPrivacyListsManager();
privacyListsManager.addPrivacyListListener(privacyListListener);
privacyListsManager.setPrivacyListAsActive("public");
QBPrivacyList list_all = null;
try {
list_all = privacyListsManager.getPrivacyList("public");
Log.e("lists", "privacyCheck: " + list_all + list_all.getItems());
privacyListsManager.setPrivacyList(list_all);
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
}
并点击块,private void blockUser() {
List<Integer> userIds = qbChatDialog.getOccupants();
Log.e("userid ", "blockUser: " + id);
QBPrivacyList list = new QBPrivacyList();
list.setName("public");
ArrayList<QBPrivacyListItem> items = new ArrayList<QBPrivacyListItem>();
QBPrivacyListItem item1 = new QBPrivacyListItem();
item1.setAllow(false);
item1.setType(QBPrivacyListItem.Type.USER_ID);
item1.setValueForType(String.valueOf(id));
items.add(item1);
list.setItems(items);
try {
privacyListsManager.setPrivacyList(list);
privacyListsManager.setPrivacyListAsDefault("public");
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
}
privacyListListener = new QBPrivacyListListener() {
@Override
public void setPrivacyList(String listName, List<QBPrivacyListItem> listItem){
Log.e("block", "setPrivacyList: " );
}
@Override
public void updatedPrivacyList(String listName) {
Log.e("unblock", "setPrivacyList: " );
}
};
}
问题是`QBPrivacyList 总是被块点击值覆盖,但我希望保存以前的数据。