выбрать любой предмет из списка 10000 предметов в Android - PullRequest
4 голосов
/ 20 октября 2011

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

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

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

Ответы [ 2 ]

4 голосов
/ 20 октября 2011

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

0 голосов
/ 20 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...