- делается подгрузка данных, данные вставляются в конец списка, но нужно чтобы позиция скролла осталась на fistVisibleIndex до подргузки новой порции данных, то есть, мы прокрутили вниз, догрузились данные, но скролл остался на текущем месте.
                  
                  
                  Это делается с помощью АПИ списков или надо самому в коде вычислять последную позицию запоминать ее и потом вручную сроллить?
                  
                  
                  Попробовал такой код:
                  
                  
                  LazyColumn(
                  
                  
                          state = listState,
                  
                  
                          content = {
                  
                  
                              itemsIndexed(
                  
                  
                                  items = listOfData,
                  
                  
                                  key = {index, item ->
                  
                  
                                      val id = Integer.parseInt(item.replace("Item ", ""))
                  
                  
                                      Log.d("RowsList", "id $id")
                  
                  
                                      id
                  
                  
                                  }
                  
                  
                              ) { index, item ->
                  
                  
                                  val isSelected = selectedIndex == index
                  
                  
                                  RowItem(
                  
                  
                                      isSelected = isSelected,
                  
                  
                                      data = item,
                  
                  
                                      onSelected = {
                  
                  
                                          onSelected(index)
                  
                  
                                      },
                  
                  
                                  )
                  
                  
                              }
                  
                  
                          }
                  
                  
                      )
                  
                  
                  Пояснение - в списке хранятся строки Item №. В блоке
                  
                  
                  key = {index, item ->
                  
                  
                                      val id = Integer.parseInt(item.replace("Item ", ""))
                  
                  
                                      Log.d("RowsList", "id $id")
                  
                  
                                      id
                  
                  
                                  }
                  
                  
                  выдаю id для элемента списка. Как я понял, если задать id, то позиция должна сохараняться автоматически при дозагрузке данных
                  
                  
                
Вы делаете пагинацию вручную? Может стоит посмотреть в сторону paging-compose?
 Aleksandr
                          Petrov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Aleksandr
                          Petrov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  не, я хочу сделать вручную
поидее так должно работать, да. причем вы ведь всегда элементы в конец списка добавляете? то есть индекс в списке для ожидаемого первого видимого элемента не меняется, в таком случае я ожидаю что это даже без указания key должно работать. можете написать в личку если есть возможность поделиться большим количеством деталей
 Aleksandr
                          Petrov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Aleksandr
                          Petrov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  вроде разобрался - нужно было состояние списка вынести вверх
А принципиально именно mutableStateListOf?
Обсуждают сегодня