diff --git a/app/src/main/java/com/example/tampopo_client/views/MainActivity.java b/app/src/main/java/com/example/tampopo_client/views/MainActivity.java index 983097b..a33fb60 100644 --- a/app/src/main/java/com/example/tampopo_client/views/MainActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/MainActivity.java @@ -383,7 +383,8 @@ // すべてのフレンド(既存+新規)に対してオブザーバーを登録 for (String friendId : friends) { - MutableLiveData> activitiesLiveData = activityViewModel.getActivitiesLiveDataFromUserId(friendId); + final String currentFriendId = friendId; // ラムダ式で正しく参照できるようにfinal変数にコピー + MutableLiveData> activitiesLiveData = activityViewModel.getActivitiesLiveDataFromUserId(currentFriendId); // オブザーバーを登録(LiveDataは同じオブザーバーの重複登録を自動的に防ぐ) activitiesLiveData.observe(MainActivity.this, activities -> { @@ -392,10 +393,10 @@ Activity latest = activities.get(activities.size() - 1); // UIスレッドで安全に更新 - FriendIconView friendView = userViews.get(friendId); + FriendIconView friendView = userViews.get(currentFriendId); if (friendView != null) { friendView.setComment(latest.getText()); - Log.d("ActivityUpdate", friendId + " のコメントを更新: " + latest.getText()); + Log.d("ActivityUpdate", currentFriendId + " のコメントを更新: " + latest.getText()); } }); }