我从纵向开始AsyncTask,然后我将方向改为横向。在这一刻,我需要参考运行AsyncTask,以便我可以取消该任务。
实际情况如下:
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.startBtn:
sampleTaskOne = new SampleAsyncTaskOne(this, sampleTaskCallbacks);
sampleTaskOne.execute();
break;
case R.id.stopBtn:
sampleTaskOne.cancel(true);
sampleTaskOne = null;
default: break;
}
}
如果我点击 stopBtn NullPointerException,因为 sampleTaskOne 未初始化,现在改变方向。那么如何保留运行AsyncTask的参考?
请不要使用Fragment。不要把它作为副本提及#34;如何在方向改变时使用asynctask"或类似的东西。我知道几种替代解决方案,但我确实想继续参考AsyncTask。
答案 0 :(得分:0)
您可以将sampleTaskOne
存储为静态变量,并在完成或取消后将其传递给null
。