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 c88c250..70ecb39 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
@@ -1,5 +1,6 @@
package com.example.tampopo_client.views;
+import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
@@ -22,7 +23,8 @@
//メンバー変数
private EditText senderMessage;
private EditText receiverMessage;
- private Button buttonSend;
+ private Button sendButton;
+ private Button backButton;
Tampopo tampopo;
@@ -38,7 +40,8 @@
senderMessage = findViewById(R.id.sender_message);
receiverMessage = findViewById(R.id.receiver_message);
- buttonSend = findViewById(R.id.buttonSend);
+ sendButton = findViewById(R.id.send_Button);
+ backButton = findViewById(R.id.back_Button);
receiverMessage.setKeyListener(null);//受信メッセージ編集不可
@@ -56,32 +59,44 @@
// }
// });
-// String receiverText = senderMessage.getText().toString();//senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる
-// if (!receiverText.isEmpty()) {
-// receiverMessage.setText(ChatroomViewModel.latestMessage);
-// }
- buttonSend.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View view) {
- String senderText = senderMessage.getText().toString();//senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる
- if (!senderText.isEmpty()) {
- String senderId = tampopo.getUserId();
- String token = tampopo.getToken();
- String chatroomId = tampopo.getChatroomId();
- chatroomViewModel.sendMessage(chatroomId, senderId, senderText, token);
- senderMessage.setText(senderText);//送信欄に表示
- }
- }
- });
-
- chatroomViewModel.getLatestMessageLiveData().observe(this, receiverText -> {
- if (receiverText != null) {
- receiverMessage.setText(receiverText.getContent());
+ //メッセージ送信
+ sendButton.setOnClickListener(new OnClickListener() { //sendButtonがクリックされたときの処理
+ @Override
+ public void onClick(View view) { //ボタンがクリックされたときに実行される処理本体
+ String senderText = senderMessage.getText().toString(); //senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる
+ if (!senderText.isEmpty()) { //senderTextが空でなければ
+ String senderId = tampopo.getUserId();
+ String token = tampopo.getToken();
+ String chatroomId = tampopo.getChatroomId();
+ chatroomViewModel.sendMessage(chatroomId, senderId, senderText, token);
+ senderMessage.setText(senderText);//自分のメッセージを送信欄に表示
+ }
}
});
+ //メッセージ受信
+ chatroomViewModel.getLatestMessageLiveData().observe(this, chatMessage -> {
+ if (chatMessage != null) {
+ String myUserId = tampopo.getUserId(); // 自分のIDを取得
+ String senderId = chatMessage.getSenderId(); //相手(メッセージ送信者)のIDを取得
+
+ if (!myUserId.equals(senderId)) { //自分のIDが相手のIDと異なっていれば,(相手からのメッセージと判断)
+ receiverMessage.setText(chatMessage.getContent());// 相手からのメッセージを受信欄に表示
+ }
+ }
+ });
+
+
+ //戻るボタン
+ backButton.setOnClickListener(new OnClickListener() { //backButtonがクリックされたときの処理
+ public void onClick(View view) { //ボタンがクリックされたときに実行される処理本体
+ Intent intent = new Intent(ChatActivity.this, MainActivity.class); //ChatActivity から MainActivity に画面遷移
+ startActivity(intent);
+ }
+ });
+
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(Type.systemBars());
diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml
index ec31135..cdfad72 100644
--- a/app/src/main/res/layout/activity_chat.xml
+++ b/app/src/main/res/layout/activity_chat.xml
@@ -41,7 +41,7 @@
app:layout_constraintVertical_bias="0.55" />