diff --git a/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java b/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java index 494c624..62709b4 100644 --- a/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java @@ -2,6 +2,8 @@ import android.content.Intent; import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; @@ -100,18 +102,39 @@ // }); - //メッセージ送信 + //メッセージ送信 - リアルタイム送信機能 + senderMessage.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + // テキスト変更前の処理(不要) + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + // テキスト変更中の処理(不要) + } + + @Override + public void afterTextChanged(Editable s) { + // テキスト変更後の処理 - メッセージを送信 + String senderText = s.toString(); + if (!senderText.isEmpty()) { + String senderId = tampopo.getUserId(); + String token = tampopo.getToken(); + String chatroomId = tampopo.getChatroomId(); + chatViewModel.sendMessage(chatroomId, senderId, senderText, token); + Log.d("ChatDebug", "Real-time message sent: " + senderText); + } + } + }); + + //メッセージ送信ボタン(従来の機能も維持) sendButton.setOnClickListener(new OnClickListener() { //sendButtonがクリックされたときの処理 @Override public void onClick(View view) { //ボタンがクリックされたときに実行される処理本体 String senderText = senderMessage.getText().toString(); //senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる Log.d("ChatDebug", senderText); if (!senderText.isEmpty()) { //senderTextが空でなければ - String senderId = tampopo.getUserId(); - String token = tampopo.getToken(); - String chatroomId = tampopo.getChatroomId(); - //String chatroomId = "0"; - chatViewModel.sendMessage(chatroomId, senderId, senderText, token); senderMessage.setText("");//自分のメッセージを消す } }