我有我想要做以下的应用程序:
- 显示一个按钮和TextView的活动。
- 用户点击按钮,程序显示一个进度对话框。
- 应用程序调用Web服务得到一个列表。
- 进度对话框是隐藏的,会出现一个列表选择对话框中显示的检索列表。
- 用户选择列表中的项目之一。
- 项目显示在TextView的。
问题是,这种情况发生:
- 显示一个按钮和TextView的活动。
- 用户点击按钮和按钮状态变为选中。
- 几秒钟后,出现的列表中选择对话框,显示检索列表。
- 用户选择列表中的项目之一。
- 进度对话框显示几秒钟,然后是隐藏的。
- 项目显示在TextView中。
web服务是与进度对话框在onPreExecute()方法中所示的的AsyncTask执行并驳回在onPostExecute()方法:
public class WebService extends AsyncTask<Void, Void, Boolean> {
public void onPreExecute() {
_progressDialog = ProgressDialog.show(_context, "", message);
}
protected Boolean doInBackground(Void... params) {
try {
// Execute web service
}
catch (Exception e) {
e.printStackTrace();
}
return true;
}
protected void onPostExecute(Boolean result) {
_progressDialog.hide();
}
}
代码来执行Web服务并显示对话框:
WebService ws= new WebService();
ws.execute();
// Web service saves retrieved list in local db
// Retrieve list from local db
AlertDialog.Builder db = new AlertDialog.Builder(context);
db.setTitle("Select an Item");
ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(context,
android.R.layout.simple_selectable_list_item, list);
db.setAdapter(listAdapter, null);
db.show();
我需要的东西添加到代码列表选择对话框之前,为了确保进度对话框显示?
先感谢您。