2012-04-17 14 views
0

SimpleCursorLoader(独自のimlementationによってロードされ、URIを使用せずにcurserをロードする)によってデータがロードされるListFragmentがあります。リストローダーをAndroidの詳細アクティビティからリロードするにはどうすればいいですか?

リスト内の項目が選択されているとき。私は新しいアクティビティ(詳細アクティビティ)を起動するか、ListFragmentの隣のディテール・フラグメントで選択されているものを表示します。画面のサイズによって異なります。

ディテール・フラグメントがListActivityに追加されている場合、リストをリロードする方法を知りました。 ListActivityにインターフェイスを割り当て、変更が発生したときに詳細フラグメントから呼び出す。リストのフラグメントでは、getLoaderManager()を使用してリストをリロードします。restartLoader(0、null、this);

今、私の問題は、詳細アクティビティが読み込まれている場合、私はListActivityのメソッドにアクセスすることができないということです。私はおそらくいくつかのオブザーバーのパターンを実装することができます。しかし、これにはベストプラクティスが必要です。
ディテール・フラグメントによってデータベース内のデータが変更された場合、リスト・フラグメントをリロードする方法を教えてください。

答えて

1

リスト作成コードをonResumeに移動してみてください。そうすることで、アクティビティの作成と、アクティビティから離れて戻ってくるたびに実行されます。

+0

しかし、それは私のアプリが必要でないときでさえリストをリフレッシュさせるでしょう。 –

+0

あなたがその活動を離れる場合、それは非常に必要かもしれません。一度アクティビティを離れるとデータが保持されるという保証はありません。このようにして、心配する必要はありません。 – Barak

関連する問題