Как правильно использовать GreenDao LazyList для огромного количества данных + сортировка и фильтрацияJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как правильно использовать GreenDao LazyList для огромного количества данных + сортировка и фильтрация

Сообщение Anonymous »

Я пытаюсь реализовать разбиение по страницам в списке Android.

Справочная информация: я загружаю около 60 тыс. наборов данных через веб-сервис и сохраняю их в базу данных SQLite с помощью GreenDao. Теперь я хочу получить доступ к этим 60 тысячам строк в ListView и выбрать некоторые из них (0-10). Выбранные элементы отправляются в другой ListView, содержащий только выбранные элементы. Записи базы данных составляют ~3 МБ для всех записей размером 60 тыс.

Что уже реализовано:
  • БД SQLite
  • DAO
  • ListViews
  • Адаптеры
    < li>Transferlogic Data ListView --> ListView выбранных данных
ListView отображается в DialogFragment. Мне пришла в голову идея использовать класс GreenDao LazyList, потому что этот список может загружать отдельные элементы без прямой загрузки всех элементов.

Поскольку LazyList не позволяет вносить изменения в список (удалять, добавлять, очищать)

Я сделал следующее:
У ListView есть класс адаптера, который использует java.util.List в DialogFragment. Я запрашиваю LazyList (получить все) или использую EditText для применения предложения Like.

При первом запросе 60 тысяч записей я загружаю первые 50 элементов в адаптер и отображаю их в ListView. Я не хочу использовать панель навигации для последующего изменения элементов.

Я хочу, чтобы EditText работал напрямую, пока пользователь печатает, поэтому я добавил TextChangeListener.

Код: Выделить всё

edittext.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}

@Override
public void afterTextChanged(Editable s) {
if(lazyList != null) {
if(!lazyList.isClosed()) {
lazyList.close();
lazyList = null;
}
}

if(s.length() 

Подробнее здесь: [url]https://stackoverflow.com/questions/35454584/how-do-i-use-greendao-lazylist-correct-for-huge-amount-of-data-sort-and-filter[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»