我已经在Loader
()中实现了onStopLoader
,我调用了cancelLoad
()方法。但是,尽管有上述调用,onCanceled
()仍未被调用。这次回调的目的是什么?
按下我的Activity中的主页按钮,我可以看到调用了Activity的onStop
(),并且还调用了Loader的onStopLoading
()。
@Override
public void onStopLoading() {
super.onStopLoading();
cancelLoad();
Log.e(LOG_TAG, "onStopLoading()");
}
@Override
public void onCanceled(List<Earthquake> earthquakes) {
super.onCanceled(earthquakes);
Log.e(LOG_TAG, "onCancelled()");
}
答案 0 :(得分:0)
cancelLoad():尝试取消当前加载任务。必须在主要上调用 这个过程的主线。
由于onStopLoading()
已被调用,因此无法取消任何内容,因此永远不会调用回调onCanceled()
。
请参阅文档中有关cancelLoad()
如果无法取消任务,则返回false,通常是因为它 已经正常完成[...]
所以,在你的情况下,它应该返回false,因为它已经停止了。