1

有沒有辦法解決這個問題?創建支持本機和支持片段/活動的庫

我想創建一個片段,它可以擴展支持片段或默認片段......我認爲這是不可能的,所以我用另一種方式提出問題:您知道/使用的最美麗的解決方法是什麼?

+0

你爲什麼想這樣做?對於使公共圖書館更加可用的支持庫 – hister 2014-10-26 14:29:20

+0

而言,不需要這樣的東西來支持所有你需要的片段和活動......或者,對於我自己來說,可以編寫我可以用於使用支持片段的舊項目的庫,以及在只使用新碎片的新項目中使用... – prom85 2014-10-26 14:31:18

+0

我不認爲有任何方法可以做到這一點。並且請注意,當您在所有版本中使用支持片段時,您的應用將使用支持片段運行。 – hister 2014-10-26 14:35:11

回答

2

我覺得這是不可能的

正確的。

什麼是您知道/使用的最美麗的解決方法?

把商業邏輯放在一個單獨的類(我將它稱爲FragmentHelper)。創建一個擴展本地Fragment實現的片段類,並讓它將工作委託給FragmentHelper。創建另一個片段類,用於擴展支持包的Fragment實現,並讓它將工作委託給FragmentHelper

+0

其實,我已經認爲這是唯一的解決方案...... – prom85 2014-10-26 15:16:30

+0

@ prom85:沒有什麼能阻止你在兩個片段實現中的每一箇中複製FragmentHelper代碼。而且,如果輔助代碼很短,那麼在某些方面實際上可能會比分段和輔助代碼之間的所有粘合代碼更好。 – CommonsWare 2014-10-26 17:38:18

+0

其實,這就是我正在做的事......只是維護有點複雜......然而,通常我不會對舊項目做更多的更新工作...... – prom85 2014-10-26 18:25:01