2016-09-27 84 views
-1

我有一個主要活動。從此活動中,用戶可以導航到配置文件,並且在配置文件中用戶可以編輯設置當用戶更改設置時刷新片段

我想要的是:當用戶進行更改時,我想根據這些更改刷新主要活動中的片段。因爲我只能更新主活動在該活動再次出現時顯示的片段。那麼我怎麼能告訴主要活動數據已經改變並相應地更新UI。

所以我想知道什麼是處理這種情況的最佳方法。

+0

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

+0

主要和配置文件是單個活動的片段嗎?或主要和配置文件是兩個不同的活動?請放一些java代碼,以便可以更好地理解它。 –

回答

0

考慮在Fragment類中創建自定義BroadcastReceiver,並且在設置的任何更改上發送Intent自定義Action

+0

好吧,但如果片段不可見,它將如何更新片段? – user2934930

+0

@ user2934930使用'SupportFragmentManager'解決了替換片段的問題。 –

+0

感謝那個工作的人 – user2934930

0

如果配置文件是一個活動,使用startActivityforResult啓動它,並在onActivityResult得到新的數據,如果片段實例不null,調用一些方法說,在該片段update。如果片段實例爲null,則使用新數據創建一個新實例。

如果配置文件是主要活動中的另一個片段,則將更改存儲在SharedPreferenceManager中。在您的MainActivity的簡歷FirstFragmentSharedPreferenceManager獲取數據。如果它不相同,重繪該片段,否則離開它。