我试过AsyncTask
了,线程和处理程序,但我不明白。
该方法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);