上午使用異步任務來擊中Web服務url並從服務器檢索結果,但在onExpExcute()方法中的某些時間如果解析異常發生我處理它catch ()方法,現在我想暫停處理下一個手段執行不去OnpostExecute()方法,因此如何停止執行過程,它要OnPostExecute() 我的代碼是下面停止onPostExecute()如果分析異常onpreexecute()發生
@Override
protected void onPreExecute() {
dialog = new ProgressDialog(MainMenu.this);
dialog.setMessage("Processing...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}
@Override
protected void onPostExecute(final Boolean success) {
if (dialog.isShowing())
{
dialog.dismiss();
}
Intent i = new Intent(MainMenu.this, filterpagetabs.class);
startActivity(i);
}
@Override
protected Boolean doInBackground(final String... args) {
try{
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
URL sourceUrl = new URL(
"http://www.mobi/iphonejh/output.php?estado=1");
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));
} catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}
}
感謝+1好的答案 – shyam 2012-01-04 09:17:54
好吧,它的工作原理...但是...你可以做到這一點,而不parsingSuccessful var ... doInBackground返回布爾將被傳遞給onPostExecute (...)作爲'最終布爾成功'... – Selvin 2012-01-04 09:31:00