我正在实现一个从服务获取响应并显示到 View 的应用程序。我使用了两个 TextView 来从服务获取两种类型的响应。当我单击一个 TextView 时,我得到的响应非常晚这次 UI 挂起,我想在 View 中显示繁忙的进度对话框,当我收到响应时,我想关闭该进度对话框。我正在更新 View 以响应 ListView 。 我已经实现了如下代码:
textView1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
waitProgreess = ProgressDialog.show(ShoutGetMsgsScreen.this, "Please wait", "Loading...");
resultFromService = new ParseXml().convertMessages(new Model().getMessages("0"));
lst.setAdapter(new CustomeAdapter(ShoutGetMsgsScreen.this, resultShoutMessage));
if(resultFromService .size()>5){
waitProgreess.dismiss();
}
}
});
从上面的实现中,我如何显示进度对话框,当 View 更新时,我如何关闭进度对话框?
请任何人帮助我...
最佳答案
private class GetDATA extends AsyncTask<Void, Void, Void>
{
ProgressDialog pd;
@Override
protected void onPreExecute() {
pd = ProgressDialog.show(Activity.this, "", getString("loding..."), true, false);
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
resultFromService = new ParseXml().convertMessages(new Model().getMessages("0"));
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (pd != null && pd.isShowing())
pd.dismiss();
}
lst.setAdapter(new CustomeAdapter(ShoutGetMsgsScreen.this, resultShoutMessage));
}
}
像这样打电话:-
(new GetDATA()).execute();
关于android - 如何获得进度对话框,直到得到来自 android 服务的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564133/