我的问题是:当我运行通过互联网下载某些数据的线程时,如何更新我的用户界面。如果我做这样的事情:
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);
收到的数据时刷新我的活动。
欢迎任何形式的帮助或建议! 提前谢谢!
答案 0 :(得分:2)
答案如下。
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 :(得分:1)
刷新视图只需要调用invalidate()
。有问题的UI元素是什么?
notifyDataSetChanged()