getDialogsUsers returns 没有元素
getDialogsUsers returns no elements
我正在尝试使用 sampe-chat 代码在应用程序中创建聊天。
我授权了用户,得到了opponend id,然后成功创建对话框:
ChatService.initIfNeed(this);
QBUsers.getUserByLogin(login, new QBEntityCallbackImpl<QBUser>() {
@Override
public void onSuccess(QBUser qbUser, Bundle args) {
QBPrivateChatManager privateChatManager = QBChatService.getInstance().getPrivateChatManager();
privateChatManager.createDialog(qbUser.getId(), new QBEntityCallbackImpl<QBDialog>() {
@Override
public void onSuccess(QBDialog dialog, Bundle args) {
ChatActivity.this.dialog = dialog;
setContentView(R.layout.activity_chat);
initViews();
if (isSessionActive()) {
initChat();
}
ChatService.getInstance().addConnectionListener(chatConnectionListener);
}
@Override
public void onError(List<String> errors) {
Log.e("chat", errors.toString());
}
});
}
@Override
public void onError(List errors) {
Log.e("chat", errors.toString());
}
});
但是在 initViews() 我在
遇到了错误
else if (dialog.getType() == QBDialogType.PRIVATE) {
Integer opponentID = ChatService.getInstance().getOpponentIDForPrivateDialog(dialog);
companionLabel.setText(ChatService.getInstance().getDialogsUsers().get(opponentID).getLogin());
}
报错是因为ChatService.getInstance().getDialogsUsers() returns 0个元素:,所以ChatService.getInstance().getDialogsUsers().get(opponentID ).getLogin() 给出异常。
我没有在文档中找到对此的任何解释:
为什么我在 ChatService.getInstance().getDialogsUsers() 处有 0 个元素?对话框创建成功。
'getDialogsUsers' 不是 SDK 方法,它来自代码示例
你可以看看它是做什么的
它returns用户地图,设置在L172
尝试遵循此文件并将所有需要的逻辑移至您的应用程序
我正在尝试使用 sampe-chat 代码在应用程序中创建聊天。
我授权了用户,得到了opponend id,然后成功创建对话框:
ChatService.initIfNeed(this);
QBUsers.getUserByLogin(login, new QBEntityCallbackImpl<QBUser>() {
@Override
public void onSuccess(QBUser qbUser, Bundle args) {
QBPrivateChatManager privateChatManager = QBChatService.getInstance().getPrivateChatManager();
privateChatManager.createDialog(qbUser.getId(), new QBEntityCallbackImpl<QBDialog>() {
@Override
public void onSuccess(QBDialog dialog, Bundle args) {
ChatActivity.this.dialog = dialog;
setContentView(R.layout.activity_chat);
initViews();
if (isSessionActive()) {
initChat();
}
ChatService.getInstance().addConnectionListener(chatConnectionListener);
}
@Override
public void onError(List<String> errors) {
Log.e("chat", errors.toString());
}
});
}
@Override
public void onError(List errors) {
Log.e("chat", errors.toString());
}
});
但是在 initViews() 我在
遇到了错误else if (dialog.getType() == QBDialogType.PRIVATE) {
Integer opponentID = ChatService.getInstance().getOpponentIDForPrivateDialog(dialog);
companionLabel.setText(ChatService.getInstance().getDialogsUsers().get(opponentID).getLogin());
}
报错是因为ChatService.getInstance().getDialogsUsers() returns 0个元素:
'getDialogsUsers' 不是 SDK 方法,它来自代码示例
你可以看看它是做什么的
它returns用户地图,设置在L172
尝试遵循此文件并将所有需要的逻辑移至您的应用程序