Android Loader中的onCanceled()的用途
问题描述:
我已经在onStopLoader
()中实现了一个Loader
,我调用了cancelLoad
()方法。但是,尽管上述呼叫,onCanceled
()没有被调用。这个回调的目的是什么?Android Loader中的onCanceled()的用途
按下我的活动中的主页按钮,我可以看到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()");
}
答
cancelLoad():尝试取消当前负载任务。必须在进程的主线程 上调用。
因为,onStopLoading()
已经被调用,有什么要取消了,这样就决不会调用onCanceled()
回调。
见,什么文件说,有关的cancelLoad()
返回false返回值,如果任务无法被取消,通常是因为它 已经正常完成[...]
因此,在你的情况下,它应该返回false,因为它已经停止。
@SumitTrehan有帮助吗? –