2017-05-21 10 views
2

Loaderを実装しました。onStopLoader()にはcancelLoad()メソッドがあります。しかし、上記の呼び出しにもかかわらず、onCanceled()は呼び出されません。このコールバックの目的は何ですか?AndroidローダーでのonCanceled()の目的は

アクティビティのホームボタンを押すと、アクティビティが呼び出され、さらにローダーのonStopLoading()も呼び出されています。onStop()が表示されます。

@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

cancelLoad():現在の負荷タスクをキャンセルしようとします。プロセスのスレッド メインで呼び出される必要があります。

onStopLoading()がすでに起動され、以来、もう取り消すことは何も、このようにコールバックonCanceled()呼び出されることはありませんがありません。

一般的に、それ がすでに正常に完了しているため、タスクがキャンセルされなかった場合のドキュメントが偽cancelLoad()

戻り値の戻り値についての言うことを参照してください、[...]

あなたのケースでは、すでに停止しているのでfalseを返すはずです。

+0

@SumitTrehan助けてくれましたか? –

関連する問題