выберите любой элемент из списка из 10 000 элементов в android

StackOverflow https://stackoverflow.com/questions/7830848

Вопрос

Я пытаюсь просмотреть вопросы, чтобы увидеть, есть ли какая-нибудь тема, похожая на мою проблему, но пока не нашел. Вот моя проблема: у меня есть список продуктов, который содержит ~ 10 000 элементов, хранящихся в базе данных SQLite. В моем приложении мне нужно найти любой элемент из этого списка. У меня есть несколько вариантов:

  • Используйте autoCompleteTextView со всеми предварительно загруженными продуктами, и когда я наберу название продукта, в списке будет предложен продукт, поэтому мне просто нужно выбрать одно из предложенных. Это самый простой способ, но я чувствую, что 10 000 элементов (или даже больше в будущем) будет очень сложно загрузить.
  • Когда я набираю любой символ и нажимаю "поиск", приложение выбирает все продукты из базы данных с этим символом в качестве фильтра. Затем набор результатов передается в некоторое представление списка, чтобы я мог выбрать любой элемент. Такой подход позволит сэкономить память, поскольку приложение загружает в память не все элементы, а только элементы, содержащие символы фильтрации.

Есть ли лучший способ сделать это? Спасибо

Это было полезно?

Решение

Ваш второй вариант - лучший вариант.Это похоже на то, как вы получаете список рекомендуемых результатов поиска при вводе запроса.Для вас, предполагая, что вы используете asynctask для запроса своей базы данных, у вас может быть правильное сообщение загрузки, сигнализируемое onProgressUpdate

Другие советы

Можете ли вы распределить предметы по категориям?Чтобы вы могли использовать счетчик для выбора категории и использовать AutoCompleteTextView для ввода и выбора элементов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top