这是我的代码
我希望在显示来自服务器的数据之前显示progressdialog, 当我从服务器得到结果时(如果items.size> 0),progressdialog将被解雇; 但我运行此代码,我从服务器接收数据,但在runonuiThread中,仍然运行progressdialog。
List<ServerData> items = new ArrayList();
progressdialog.show();
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
HttpRequest...
Gson gson = new Gson();
Type type = new TypeToken<List<ServerData>>(){}.getType();
items = gson.fromJson(String,type);
Log.d("ThreadInfo","" + items.size);
runOnUiThread(new Runnable() {
@Override
public void run() {
if(items.size > 0){
progressdialog.dismiss();
}
}
});
}
});
当我记录ThreadInfo时,它发送items.size值为1 但仍然是progressdialog正在运行而不会消失。
问题, 当items.size不为0时,如何解除progressdialog?
如果您有任何想法,请帮助我。
答案 0 :(得分:0)
您必须像这样更改您的代码
if (items.size > 0) {
runOnUiThread(new Runnable() {
@Override
public void run() {
progressdialog.dismiss();
}
});
}