、 Thread 、および Handlerを試し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);