由于您似乎将网络代码与代码混在一起
UI,因此我不会尝试为您编写代码。我可以告诉您应该怎么做,并假设您可以自己重新排列代码,因为您知道代码的全部功能。
好吧,你的里面
run(),你把你的网络代码,那么当你需要更新
UI你可以有
runonUiThread(new Runnable(){ @Override public void run() { // pre to update UI }});话虽如此,我建议您将AsyncTask用于网络操作。这使它变得更加容易,因为它已经具有用于后台内容和更新的功能
UI。您启动任务并
doInBackground()运行,然后在这里执行所有网络操作。然后,您可以
UI使用
AsyncTasks其他3种方法中的任何一种更新。



