我正在创建一个应用程序,我必须在其中从 Internet 获取一些数据并在 UI 上将其显示给用户。我在方法中创建了一个进度条,AsyncTask
onPreExecute()
并且在onPostExecute()
方法中我将所有数据传递给了另一个 Activity 和 startActivty。然后我关闭进度对话框。但是,这并不好。当第二次activity
在 UI 上加载数据时,onCreate
ProgressBar 就会挂起。我该如何解决这个问题。
这是我的代码:
@Override
protected void onPreExecute() {
proDialog = new ProgressDialog(mContext);
proDialog.setTitle("Support Manager");
proDialog.setMessage("Logging in ...");
proDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
proDialog.setIcon(R.drawable.ic_launcher);
proDialog.show();
super.onPreExecute();
}
@Override
protected RepresentativeData doInBackground(String... params) {
JSONObject result = null;
try {
result = client.reprentativeDetailNode(params[0]);
LoginJsonParsing loginJsonParsing = new LoginJsonParsing();
Details = loginJsonParsing
.Details(result);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Details;
}
@Override
protected void onPostExecute(Data result) {
Intent secActivity = new Intent(mContext,YourRepresentative.class);
secAcitivity.putExtra("detail", result);
mContext.startActivity(secActivity);
proDialog.dismiss();
super.onPostExecute(result);
}