我想要一個進度對話框說「請稍候」,而我的代碼下載和分析一個XML文件,但進度對話框不會,它會卡住。 我使用的是AsyncTask,xml文件的下載和解析在後臺線程中完成,如果我刪除進度對話框,代碼工作,但在這種情況下,您必須等待約4秒鐘才能點擊我的動態創建UI的按鈕。進度對話框沒有被解僱
private class ParseXML extends AsyncTask<Integer, Integer, Document>{
private Context context;
private Activity activity;
private ProgressDialog pd;
public ParseXML(Activity activity) {
this.activity = activity;
context = activity;
pd = new ProgressDialog(context);
}
public void onPreExecute(){
super.onPreExecute();
/* ProgressDialog pd=ProgressDialog.show(XML_PARSER.this,"","Please Wait");*/
}
@Override
protected Document doInBackground(Integer... params) {
DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance();
Document dom1=null;
try {
//InputStream is=getResources().openRawResource(R.raw.options);
URL requestURL = new URL("my url");
URLConnection connection = requestURL.openConnection();
is = connection.getInputStream();
DocumentBuilder db = dbf.newDocumentBuilder();
dom1=db.parse(is);
Log.i(TAG,"parsing done");
}
catch(ParserConfigurationException pce){
pce.printStackTrace();
}
catch(SAXException se){
se.printStackTrace();
}
catch(IOException ioe){
ioe.printStackTrace();
}
ParseDocument(dom1);
return null;
}
@Override
public void onPostExecute(Document d){
if(pd!=null && pd.isShowing()){
pd.dismiss();
}
super.onPostExecute(d);
}
}
什麼你的問題的一些變化?你想要什麼?你想關閉進度對話框嗎? – 2012-08-08 11:06:06
@ nick-得到了我的解決方案。順便說一句,我需要關閉我的postExecute()進度對話框。現在它正在工作。 – 2012-08-08 11:33:31