Каков наилучший способ разбиения RealmList - PullRequest
0 голосов
/ 03 марта 2020

Мой вариант использования заключается в отображении результата запроса области (списка областей) в виде блоков по 4, он будет отображаться в представлении переработчика, которое размещено в окне просмотра. Для этой цели я пытаюсь разделить результат, как показано ниже. Это правильный способ сделать это или есть какие-то другие рекомендации.

        int orderNumberToBeDisplayed = 4;//<--- This is a configuration 

        RealmList<RealmList<OrderData>> finalList = new RealmList<>();
        RealmList<OrderData> partitionList = new RealmList<>();
        for (int counter = 0 ; counter < orderList.size(); counter++ ){
            partitionList.add(orderList.get(counter));
            if(counter%orderNumberToBeDisplayed == 0){
                finalList.add(partitionList);
                partitionList.clear();
            }
        }

Самый верхний список будет для пейджера представления, внутренний список будет для представления рециркулятора, который размещен внутри окна просмотра.

Перед представлением области мы смогли выполнить приведенное выше разбиение, используя Lists.partition из библиотеки Google Guava для объекта прямого списка API, который был возвращен из нашего API.

Как При загрузке областей выполняется указанная выше загрузка результата в память, даже если только первые 4 элемента будут просмотрены в исходном представлении программы повторного просмотра окна просмотра, тогда как сброс будет показан при перелистывании страницы

...