AsyncTaskLoader
カスタムを使用してWebサービスからデータをダウンロードする場合、読み込みプロセスの途中でHOMEボタンを押してからもう一度アプリケーションを入力すると、onLoadFinished )メソッドは呼び出されません。私の断片はにsetRetainInstance(true)
と呼ばれ、同じ方法(これはお勧め)でgetLoaderManager.initLoader(0, null, this)
も呼びます。ホームボタンから戻るとonLoadFinishedが呼び出されない
テスト中に、フラグメントに戻ったときにこれが呼び出されないので、onLoadFinished()
が呼び出されない可能性があります。しかし、他にどこにinitLoader()
メソッドを置く?私はいくつかの場所でそれがonResume()
で呼ばれるべきではないことを読んだ。
だから、どんなアイデアですか?私はアプリのさまざまな画面にたくさんのローダーを持っており、私はこの問題をエレガントな方法で解決する必要があります。
'onResume()'はフレームワークのバグを回避するために必要なものですからhttps://code.google.com/p/android/issues/detail?id=63179 – faizal
@faizal私は本当に覚えていません。私はずっと前にローダーを使用することから離れました。多くのエキスパート開発者は、ネットワークデータを取得するためにLoaderを使用することに対する経験から推薦します。 –