Дан произвольный треугольник авс. у для которого определен следующий набор характерных параметров: а, b, с — стороны треугольника; а, b, у — углы (в градусах); h — высота, опущенная на сторону с; s — площадь; р — периметр треугольника. по трем заданным параметрам вычислить все остальные. различные сочетания параметров определяют варианты . замечание: входные (исходные) и выходные значения углов представить в градусной мере. даны значения 3х сторон а, b, с; записать в паскале! ! )
1. Берілген нүктелер арқылы өтетін түзудің теңдеуін жазыңыз: А(2;1) В(-1;2). [2 ұпай]
2. Шеңбердің берілген теңдеуі бойынша оның центрінің координаталары мен радиусын табыңыз: (х-4)2 +(у+8)2 =36 [1 ұпай]
3. нүктелері берілген.
a) төбелерінің координаталары бойынша салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [3 ұпай]
c) түрін анықтаңыз (теңқабырғалы, теңбүйірлі, тікбұрышты); [2 ұпай]
d) берілген үшбұрыштың ауданын есептеңіз. [2 ұпай]
4. Төбелері А (1;-1) В (0;1) С (4;3) және Д (5;1) нүктелері болатын төртбұрыштың тіктөртбұрыш болатынын дәлелдеп, оның ауданын табыңыз. Ол үшін:
a) төбелерінің координаталары бойынша сызбасын салыңыз; [1 ұпай]
b) қабырғаларының ұзындықтарын табыңыз; [4 ұпай]
c) диагональдарын анықтап, дәлелдеңіз; [2 ұпай]
d) тіктөртбұрыштың ауданын есептеңіз. [2 ұпай]
Объяснение
ответ:Для начала в onCreate() уберите эту строку:
chatContainer.clear()
Нет смысла чистить только созданный пустой список. Дальше я бы вам советовал следующим образом. Для начала при объявлении адаптера не нужно сразу ему передавать список:
lateinit var adapter: RecyclerChatAdapter
Дальше как только ваш список заполнен вы это проверяете в цикле и инициализируете адаптер:
when {
documentSnapshot != null -> {
for (dc in documentSnapshot.documentChanges) {
when (dc.type) {
DocumentChange.Type.ADDED -> {
val chat = dc.document.toObject(Chat::class.java)
chatContainer.add(chat) // Добавление данных в Recycler
if(chatContainer.size == documentSnapshot.documentChanges)
{
adapter = RecyclerChatAdapter(chatContainer)
}
}
}
}
}
}
и дальше сеттинг адаптера как и было у вас в вашем примере. Так же второй вариант как решить вашу проблему, но не уверен что получится, можно в цикле там где вы выводите сообщение в лог обновлять адаптер:
for (i in chatContainer) {
adapter.notifyDataSetChanged()
}