Евгений Колесников 3 jaren geleden
bovenliggende
commit
15c2219aa5
2 gewijzigde bestanden met toevoegingen van 29 en 1 verwijderingen
  1. 24 0
      articles/f6_demo_1.md
  2. 5 1
      cinema/index.js

+ 24 - 0
articles/f6_demo_1.md

@@ -733,6 +733,30 @@ private fun sendFile(fileUri: Uri) {
 
 >Учитывая, что в информации о чате мы должны показать последнее сообщение из чата, в дата класс надо добавить и свойство для этого сообщения
 
+```kt
+data class Chat(
+    // данные из списка чатов
+    chatId: String,
+    movieId: String,
+    name: String,
+
+    // дополнительные данные
+    avatar: String? = null,     // имя файла
+    lastMessage: String? = null // текст последнего сообщения
+)
+```
+
+И после заполнения списка чатов пробежаться по нему в цикле и запросить/заполнить недостающие данные.
+
+При отображении дополнительных данных в **RecycleView** учитывайте, что они ещё могут быть **null**:
+
+```kt
+someTextView.text = item[position].lastMessage? ?: ""
+if (item[position].avatar != null) {
+    // запросить файл у сервера
+}
+```
+
 ### Запрос сообщений чата
 
 В информации о чате мы должны показать последнее сообщение этого чата, поэтому после получения списка чатов мы должны по каждому из них запросить и список сообщений этого чата. Последнее сообщение (тут желательно сделать проверку по дате) этого списка вписать в элемент списка чатов (ищем по Id чата)

+ 5 - 1
cinema/index.js

@@ -288,7 +288,11 @@ app.post('/chats/:movieId', cors(), (req,res)=>{
       }
     }
     if (chat == null) {
-      chat = {chatId: (maxChatId+1).toString(), movieId: req.params.movieId, chatName}
+      chat = {
+        chatId: (maxChatId+1).toString(), 
+        movieId: req.params.movieId, 
+        name: chatName
+      }
       chats.push(chat)
     }
     res.json(chat)