从LAN线程中收集的数据更新UI?

时间:2011-04-03 19:40:28

标签: android multithreading listview user-interface

我有一个查看局域网的线程,并收集用于更新ListView的数据。 问题是我无法从UI以外的线程更新ListView。 用户按下了一个键,该键将查询发送到LAN上的服务器,然后期望ListView显示数据。 这种局域网监控的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你会想要这样的事情:

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
}