我有一个线程,查看LAN并收集用于更新ListView的数据。问题是,我不能更新ListView从线程以外的UI。用户按下一个键,该键向LAN上的服务器发出查询,然后期望ListView显示数据。进行局域网监控的最佳方法是什么?
如果我正确理解了你的问题,你会想要这样的东西:
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
}