getDialogsUsers不返回任何元素

时间:2015-09-19 09:03:41

标签: android quickblox

我正在尝试使用样本聊天代码在应用中创建聊天。

在成功创建对话框后,我授权用户获得了对手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()返回0个元素:enter image description here,所以ChatService.getInstance()。getDialogsUsers()。get(opponentID).getLogin()给出异常。 我在文档中找不到任何解释:enter image description here 为什么我在ChatService.getInstance()中有0个元素.getDialogsUsers()?对话框已成功创建。

1 个答案:

答案 0 :(得分:1)

&#39; getDialogsUsers&#39;它不是SDK方法,而是来自代码示例

您可以查看它,它做了什么

https://github.com/QuickBlox/quickblox-android-sdk/blob/master/sample-chat/src/com/quickblox/sample/chat/core/ChatService.java#L195

它返回用户地图,在L172中设置

https://github.com/QuickBlox/quickblox-android-sdk/blob/master/sample-chat/src/com/quickblox/sample/chat/core/ChatService.java#L172

尝试关注此文件并将所有必需的逻辑移至您的应用