Обновить пользовательский интерфейс из данных, собранных в локальной сети - PullRequest
0 голосов
/ 03 апреля 2011

У меня есть поток, который просматривает локальную сеть и собирает данные, используемые для обновления ListView.Проблема в том, что я не могу обновить ListView из потока, отличного от пользовательского интерфейса.Пользователь нажал клавишу, которая запускает запрос к серверу в локальной сети, а затем ожидает ListView для отображения данных.Какой лучший способ сделать этот мониторинг локальной сети?

1 Ответ

0 голосов
/ 04 апреля 2011

Если я правильно понимаю ваш вопрос, вы бы хотели что-то вроде этого:

final Handler mHandler = new Handler();
final Runnable mUpdateResults = new Runnable() {
    public void run() {
        updateUI();
    }
};

private void getLAN() {
    Thread t = new Thread() {
        public void run() {
            //do LAN stuff
            mHandler.post(mUpdateResults);
        }
    };
    t.start();
}

private void updateUI() {
    //update UI
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...