3

2 つのタブを持つアプリケーションがあります。これらはどちらも ListFragments です。最初のタブは CursorLoader を使用してデータをリストにバインドします。データはサービスから取得されます。2 番目のタブには、これまでのところ何も含まれていません。空の ListFragment だけです。

これで、アプリケーションを起動してサービスが情報を取得すると、すべて問題ありません。ListFragment にはデータが入力されており、すべてがうまく機能しています。2 番目のタブに切り替えると、ロード ホイールが表示されますが、これで問題ありません。

最初のタブに戻ると問題が発生します。サービスが開始され、データのプル ダウンが開始されると、ログにデータがプルされていることがわかりますが、ListFragment には何も表示されません。それはただの空白で、CursorLoader がもう接続されていないようです。

次の奇妙なことは、アプリケーションを閉じて再起動すると、データが突然リストに表示されることです! しかし、切り替え時に再びバグが発生します。

これに関するアイデアはありますか?それは本当に私を悩ませています!

4

1 に答える 1

2

getLoaderManager.destroyLoader()フラグメントが削除されたときに呼び出す必要があります。

于 2011-12-04T00:38:09.187 に答える