Konstantinovna1936
?>

У вас есть список пользователей отображенный в RecyclerView. С сервера приходит обновленный вариант этого списка, в котором эти же пользователи расположены в другом порядке. Как анимировано применить эти изменения к RecyclerView?​

Информатика

Ответы

Serdechnaya636

ответ:Для начала в 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()

}

randat887040

Переводим целую часть:

2765342:2=1382671(0)

1382671:2=691335(1)

691335:2=345667(1)

345667:2=172833(1)

172833:2=86416(1)

86416:2=43208(0)

43208:2=21604(0)

21604:2=10802(0)

10802:2=5401(0)

5401:2=2700(1)

2700:2=1350(0)

1350:2=675(0)

675:2=337(1)

337:2=168(1)

168:2=84(0)

84:2=42(0)

42:2=21(0)

21:2=10(1)

10:2=5(0)

5:2=2(1)

2:2=1(0)

1010100011001000011110 - это целая часть

Переводим дробную:

0,23*2=0,46(0)

0,46*2=0,92(0)

0,92*2=1,84(1)

0,84*2=1,68(1)

0,68*2=1,36(1)

0,36*2=0,72(0)

0,72*2=1,44(1)

0,44*2=0,88(0)

0,00111010 - дробная часть

В итоге:

1010100011001000011110,00111010 - это данное число в двоичной СС

timpavilion23

===== PascalABC.NET =====

begin

 // 1

 var a := MatrRandom(5, 6, -10, 10);

 a.Println(4);

 var (kn, kz, kp) := (0, 0, 0);

 for var i := 0 to a.RowCount - 1 do

   for var j := 0 to a.ColCount - 1 do

     if a[i, j] > 0 then

       kp += 1

     else if a[i, j] = 0 then

       kz += 1

     else

       kn += 1;

 Println('Отрицательных', kn, ' нулевых', kz,

     ' положительных', kp);

 // 2

 var b := MatrRandom(5, 6, 1, 100);

 b.Println(5);

 var s := b.ElementsWithIndices;

 var imin := s.MinBy(p -> p[0]);

 var imax := s.MaxBy(p -> p[0]);

 Writeln('Индексы минимального элемента [',

     imin[1] + 1, ',', imin[2] + 1, ']');

 Writeln('Индексы максимального элемента [',

     imax[1] + 1, ',', imax[2] + 1, ']');

 // 3

 var c := MatrRandom(5, 9, -3, 5);

 c.Println(3);

 Print('Количество положительных по строкам:');

 c.Rows.Select(r -> r.Count(p -> p > 0)).Println

end.


1. сформировать двумерный массив размера 5×6, заполненный случайными числами из диапазона [–10,10].

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

У вас есть список пользователей отображенный в RecyclerView. С сервера приходит обновленный вариант этого списка, в котором эти же пользователи расположены в другом порядке. Как анимировано применить эти изменения к RecyclerView?​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yamal-toy
Станиславовна196
sve34166163
zu87zu87
jgaishun756
agent-ulitka5
shoora
eisakov86
ccc712835
coleslow12
pelagia-kola2658
Olia72
motor2218
krisrespect2
Васильева-Александрович