我有一個Activity
和5 Fragment
的。在第一個Fragment
用戶輸入電話號碼。在最後(第五)Fragment
我需要顯示此電話號碼,輸入其他字段並將所有數據發送到服務器。對於每個Fragment
我使用單獨的演示者(MVP)。Android片段之間的片段數據
如何將數據從第一個片段傳遞到最後?
1)我不想傳遞所有鏈片段,因爲他們不需要這些數據。
2)如果將此數據存儲在主機Activity
中,則需要在Fragment
類中調用((SomeActivity)getActivity()).getUserData()
並將此數據傳遞給Presenter。
3)我選擇了最後一種方法。我創建了單例UserData類。這是簡單的POJO類。我在第一個Fragment
設置需要的數據中創建UserData
的實例,並在最後的Fragment
中使用它來檢索數據並添加缺少的字段。
但我不知道是單身正確的解決方案。因爲當用戶轉到另一個Activity
時,我需要清除單例實例。 如果有更好的解決方案?
編輯
我想過EventBus。但我必須將數據從片段傳遞給演示者。現在我打電話給UserData.getInstance()
並檢索數據。我希望代碼更優雅,也更正確。我要求聽到更多有經驗的開發人員的更好使用意見。
你不能使用'SharedPref'嗎? –
@RohitArya我不認爲這是比在Activity中保存數據更好的解決方案。我只需要這個數據發送到服務器,而不是很長時間 –
然後單身人士將是一個很好的方法。 –