am Использование асинхронной задачи для удара URL-адреса веб-службы и получения результата от сервера, но некоторое время в методе onPreExecute(), если возникает исключение синтаксического анализа, я обрабатываю его на 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
ну, это работает ... но ... вы можете сделать это без парсингаSuccessful var ... doInBackground возвращает Boolean, который будет передан onPostExecute (...) как «окончательный булевский успех» ... – Selvin