Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我正在做QuickBlox聊天应用程序的项目,有一些疑问_Java_Android_Button_Onclicklistener_Quickblox - Fatal编程技术网

Java 我正在做QuickBlox聊天应用程序的项目,有一些疑问

Java 我正在做QuickBlox聊天应用程序的项目,有一些疑问,java,android,button,onclicklistener,quickblox,Java,Android,Button,Onclicklistener,Quickblox,当我点击发送按钮时,它不会发送任何消息 程序没有错误,请帮我解决这个问题 sendButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { QBChatMessage chatMessage = new QBChatMessage(); chatMessage.setBody(edtCo

当我点击发送按钮时,它不会发送任何消息 程序没有错误,请帮我解决这个问题

sendButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            QBChatMessage chatMessage = new QBChatMessage();
            chatMessage.setBody(edtContent.getText().toString());
            chatMessage.setSenderId(QBChatService.getInstance().getUser().getId());
            chatMessage.setSaveToHistory(true);


            try {
                qbChatDialog.sendMessage(chatMessage);
            } catch (SmackException.NotConnectedException e) {
                e.printStackTrace();
            }

            QBChatMessagesHolder.getInstance().putMessage(qbChatDialog.getDialogId(), chatMessage);
            ArrayList<QBChatMessage> messages = QBChatMessagesHolder.getInstance().getChatMessagesByDialogId(qbChatDialog.getDialogId());
            adapter = new ChatMessageAdapter(getBaseContext(), messages);
            lstChatMessages.setAdapter(adapter);
            adapter.notifyDataSetChanged();
sendButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
QBChatMessage chatMessage=新的QBChatMessage();
setBody(edtContent.getText().toString());
setSenderId(QBChatService.getInstance().getUser().getId());
chatMessage.setSaveToHistory(true);
试一试{
qbChatDialog.sendMessage(聊天信息);
}捕捉(SmackException.NotConnectedException e){
e、 printStackTrace();
}
QBChatMessagesHolder.getInstance().putMessage(qbChatDialog.getDialogId(),chatMessage);
ArrayList messages=QBChatMessagesHolder.getInstance().getChatMessagesByDialogId(qbChatDialog.getDialogId());
adapter=新的ChatMessageAdapter(getBaseContext(),messages);
lstChatMessages.setAdapter(适配器);
adapter.notifyDataSetChanged();

我在我的应用程序中使用了quick blox sdk。下面是发送消息的代码及其工作原理

 private void sendChatMessage(String text) {
    QBChatMessage chatMessage = new QBChatMessage();
    chatMessage.setBody(text);
    chatMessage.setProperty(PROPERTY_SAVE_TO_HISTORY, "1");
    chatMessage.setDateSent(System.currentTimeMillis() / 1000);
    try {
        if (Network.isNetworkConnected(ChatActivity.this)) {
            chatDialog.sendMessage(chatMessage);
            showMessage(chatMessage);
            messageEditText.setText("");
            checkIfOpponentIsOnline(chatMessage.getBody());
        } else {
            ToastUtil.showShortToast(ChatActivity.this, "Please check Internet connection and Try again");
        }
    } catch (SmackException e) {
        Log.e(TAG, "Failed to send a message", e);
        ToastUtil.showShortToast(ChatActivity.this, R.string.chat_send_message_error);
    } catch (Exception e) {
        Log.e(TAG, "Failed to send a message", e);
    }
}

如果您仍有问题,则必须检查Quickblox控制台上的dialogId和dialogUsers。一定有问题。请检查dialog中是否存在用户。还要检查ChatService会话,因为如果没有会话,您将无法发送任何消息。

在github上看到这一点,它还有一个示例无解决方案为了这个?