[英]Fragment: DIRECT access to common data over parent activity -> any disadvantages?
我正在使用帶有兩個片段的SlidingPaneLayout ...
在左側,我顯示一些常規信息,在右側,則顯示所有其他信息...
如果使用默認方式,將數據按意圖提供給片段,則必須使兩個片段之間的數據保持同步。
那么通過父活動共享數據有哪些不利條件? 有嗎 還是他們不這樣做的原因?
為什么不在片段中使用以下命令:
Data d = ((ParentActivity) getActivity()).getSharedData()
代替
Intent intent = getActivity().getIntent();
Data d = (Data)intent.getExtras().getSerialisable("sharedData");
不要將Activity強制轉換為已知的自定義Activity,而應讓Activity實現一個接口,並在將Fragment附加到Activity時將其強制轉換為該接口。
這樣,片段就不會綁定到活動,只要它提供了接口就可以在另一個活動中重用。
這是Google推薦的方法:
http://developer.android.com/guide/components/fragments.html#EventCallbacks
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.