обновить gridview из внешнего потока пользовательского интерфейса - PullRequest
0 голосов
/ 14 ноября 2011

Я пытаюсь сделать что-то действительно простое, но почему-то не понимаю направления.Вот что я пытаюсь сделать.

В своей деятельности GridView я загружаю до 10 фотографий из местоположения SDCard.Затем, используя опцию меню «Загрузить еще», я хотел бы загрузить до 50 фотографий из другого местоположения SDCard и обновить GridView для отображения всех фотографий (не хочу снова вызывать GridView с новыми элементами)

Обновление GridView (которое определено в основном потоке пользовательского интерфейса) из внешнего потока или из меню, запускаемого опцией, - это то, что я хочу сделать.Любые предложения будут оценены.

Ответы [ 3 ]

1 голос
/ 14 ноября 2011

Ваша единственная и наиболее правильная опция заключается в том, что вы определяете опцию Refresh в меню, а затем запускаете AsyncTask, который будет обрабатывать фоновую операцию и после этого обновлять пользовательский интерфейс с результатом.

Проверьте AsyncTask для получения дополнительной информации.

http://developer.android.com/resources/articles/painless-threading.html

0 голосов
/ 15 ноября 2011

Вы можете вызвать runOnUiThread () из другого потока:

runOnUiThread(new Runnable() { public void run() {
    // update your GridView here...
}});
0 голосов
/ 14 ноября 2011

Вы не можете получить доступ к GridView вне потока пользовательского интерфейса.

Используете ли вы ASynchTask ?Если это так, переопределите onPostExecute() и сгенерируйте событие.

...