2016-09-27 4 views
-1

私は主なアクティビティを持っています。このアクティビティから、ユーザはプロファイルにナビゲートし、プロファイルではユーザが設定を編集できます。ユーザー変更設定時にフラグメントをリフレッシュする

私が望むのは:ユーザーが変更を加えたときに、これらの変更に応じてメインアクティビティでフラグメントをリフレッシュしたいと思います。私は、そのアクティビティが再びトップになったときに、主なアクティビティが示すフラグメントを更新することができます。では、主なアクティビティにデータが変更されていることを伝え、それに応じてUIを更新する方法を教えてください。

このようなシナリオを処理するには、何が最善の方法かと思いました。

+0

https://developer.android.com/reference/android/content/BroadcastReceiver.html –

+0

メインアクティビティとプロファイルは1つのアクティビティの断片ですか?またはメインとプロファイルは2つの異なる活動ですか?より理解しやすいようにJavaコードを入れてください。 –

答えて

0

Fragmentクラス内にカスタムBroadcastReceiverを作成することを検討してください。設定の変更にはActionというカスタムでIntentを送信してください。

+0

いいえ、フラグメントが表示されない場合、フラグメントを更新する方法はありますか? – user2934930

+0

@ user2934930は、 'SupportFragmentManager'を使用してフラグメントを置き換えることを回避します。 –

+0

ありがとうございました – user2934930

0

プロファイルが活動の場合は、startActivityforResultを使用して、それを起動し、フラグメント・インスタンスがnullない場合onActivityResultに新たなデータを取得し、そのフラグメントでupdateを言ういくつかのメソッドを呼び出します。 fragment instanceがnullの場合は、新しいデータを使用して新しいインスタンスを作成します。

プロファイルがメインアクティビティの別のフラグメントである場合は、変更をSharedPreferenceManagerに保存します。 MainActivityFirstFragmentのオンレジュームで、データをSharedPreferenceManagerから取得します。フラグメントを再描画する必要があります。

関連する問題