【发布时间】:2012-03-19 07:20:13
【问题描述】:
现在我正在做一个 Android 应用程序。在我的应用程序中,我必须从 json 页面获取数据。此操作需要时间延迟。所以我必须显示一个进度条,直到获取过程完成。我使用了以下代码显示进度条。
public void onCreate(Bundle savedInstanceState) {
//somecode
ProgressDialog progressBar = new ProgressDialog(this);
progressBar.setCancelable(true);
progressBar.setMessage("Loading");
progressBar.show();
Thread thread = new Thread(this);
thread.start();
}
public void run() {
flag=GetFixtureDetailsJsonFunction();
handler.sendEmptyMessage(0);
}
protected boolean GetFixtureDetailsJsonFunction() {
//json parsing code
return true
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (flag==true) {
progressBar.dismiss();
}
}
};
使用此代码,我得到了 exception.android.view.ViewRoot$CalledFromWrongThreadException: 只有创建视图层次结构的原始线程才能触及其视图。
【问题讨论】:
-
sarath,看到这个Updating the progress bar使用
Handler更新进度条..
标签: android