Я пытался AsyncTask
, Thread и Handler, но я не понимаю.
Метод readXML()
занимает около 1-2 минут, и мне нужен только способ отменить эту операцию.Все решения, которые я нашел, были для кратковременных операций (установка флага, проверка флага и остановка).
Редактировать
protected class InitTask extends AsyncTask<Context, Integer, String> {
@Override
protected String doInBackground( Context... params ){
try{
preparing = true;
readXML();
preparing = false;
} catch( Exception e ){
Log.i("test", e.getMessage() );
}
return "COMPLETE!";
}
@Override
protected void onCancelled(){
super.onCancelled();
}
}
// ....
_initTask = new InitTask();
_initTask.execute(this);
// ....
_initTask.cancel(true);