Обновление активности Android во время выполнения потока - PullRequest
1 голос
/ 10 ноября 2011

У меня вопрос: как я могу обновить свой пользовательский интерфейс во время работы нити, которая загружает некоторые данные через Интернет.Если я сделаю что-то вроде этого:

public void getCollectionsInfo(Context context){
    jsonColl = new JsonCollection();
    final Context acontext = context;

    new Thread(new Runnable() {
        public void run() {
           jsonColl.executeInsert(acontext);
        }}).start();

 }

Как я могу обновить свою активность, когда я показываю данные, которые я получаю через jsonColl.executeInsert(acontext);.

Любая помощь или предложенияприветствуется!Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Ответ как ниже.

public void getCollectionsInfo(Context context){
    jsonColl = new JsonCollection();
    final Context acontext = context;

    new Thread(new Runnable() {
        public void run() {
           jsonColl.executeInsert(acontext);
mHandlerUpdateUi.post(mUpdateUpdateUi);    

        }}).start();

 }

final Handler mHandlerUpdateUi= new Handler();

    final Runnable mUpdateUpdateUi = new Runnable() {
        public void run() {
        //update ui here

        }
    };
1 голос
/ 10 ноября 2011

Обновление просмотров - это просто вызов invalidate(). О каком элементе пользовательского интерфейса идет речь?

  • Если это ListView, вы вызываете notifyDataSetChanged() на адаптере
  • Если это что-то другое, используйте механизм обработчика пользовательского интерфейса 1009 *
...