Мне нужно получить данные с сервера и заполнить автозаполнение TextView в android. Я использовал собственный фильтр для того же, где я извлекаю в onPerformFiltering() и отображаю в onPublishResults(). Но мне не нужно получать данные с сервера для каждого изменения символа. Мне нужно сделать это для определенной длины символов. Как я могу это сделать?
Автозаполнение TextView заполняется с сервера в Android
comment
Вы можете использовать JSON, HttpRequest. Проверьте мой ответ stackoverflow.com/questions/8653260/ В этом примере я использовал API предложений Википедии.
- person Raghav   schedule 22.06.2012
comment
Большое вам спасибо, это работает как шарм :) Могу ли я использовать любой другой API вместо того, чтобы Википедия предлагала API таким же образом.
- person O__O   schedule 23.06.2012
comment
Да, вы можете использовать любой другой API, вам нужно немного настроить его для работы :), так как структура JSON будет изменена с одного API на другой.
- person Raghav   schedule 23.06.2012
comment
Я несколько раз получаю эту ошибку, и приложение принудительно закрывается: содержимое адаптера изменилось, но ListView не получил уведомление. Убедитесь, что содержимое вашего адаптера не изменяется из фонового потока, а только из потока пользовательского интерфейса.
- person O__O   schedule 23.06.2012
comment
Ну, Android хочет, чтобы представления редактировались только потоком пользовательского интерфейса, фоновые потоки не могут напрямую обновлять представления, для этого вам нужно использовать runOnUiThread().
- person Raghav   schedule 23.06.2012
comment
Я сделал это только таким образом. Даже тогда он иногда вылетает.. :(
- person O__O   schedule 23.06.2012
comment
@androiddeveloper Здесь — ответ на очень похожий вопрос. Я рекомендую использовать функцию getFilter, с помощью которой вы экономите время на обработке асинхронных задач, которая запускает запрос в фоновом потоке, а затем обновляет список в потоке пользовательского интерфейса.
- person Aldo Reyes   schedule 29.07.2012