瀏覽代碼

фильтрация списка

Евгений Колесников 4 年之前
父節點
當前提交
afbb9e19ff
共有 2 個文件被更改,包括 18 次插入1 次删除
  1. 17 0
      articles/android_auth.md
  2. 1 1
      readme.md

+ 17 - 0
articles/android_auth.md

@@ -784,6 +784,23 @@ else
     }
     ```
 
+## Фильтрация данных
+
+В нормальных АПИ должна быть предусмотрена фильтрация набора данных на сервере, то есть вам придут только те данные, которые нужны. Но на моём сервере АПИ простенькое (зато универсальное), оно просто отдаёт ту таблицу в базе, которую вы запросите (нам это не страшно, так как таблицы у нас коротенькие). 
+
+Из-за этого возникает необходимость отфильтровать отображаемые данные.
+
+Делается это элементарно - создаётся ещё один список соотвествующего типа. Причём основной список имеет смысл вынести в класс приложения (MyApp) и заполнять только при первом обращении к нему (size==0).
+
+А нужный на текущем окне список (например, материалов входящих в состав конкретной продукции) заполняем из общего списка:
+
+```kt
+filteredMaterialList.clear()
+for(i in 0 until app.materialList.size)
+    if(app.materialList[i].id==<тут ID интересующего вас продукта>)
+        filteredMaterialList.add(app.materialList[i])
+```
+
 # Задание
 
 * на первый экран добавить заставку (splash-screen) с таймером на пару секунд, только потом показывать диалог для ввода логина/пароля

+ 1 - 1
readme.md

@@ -149,7 +149,7 @@ http://sergeyteplyakov.blogspot.com/2014/01/microsoft-fakes-state-verification.h
 - сохранение данных при повороте (попов вт)
 - локальное хранилище (малинин ср)
 - чтение/запись файлов (галерея) (смирнов чт)
-swype???
+- swype вниз (обновление списка)
 
 чат
 tablayout