我有2個選項卡和2個對應的片段。在調用LAUNCH Activity時,兩個選項卡都被添加,然後第一個添加的將被顯示。因此,第一個碎片onCreateView被稱爲第二碎片不是。
在我的情況下,這是一個問題,因爲第一個Fragment必須調用第二個Fragment上的方法。在第二個片段中有一個Objectreference,它將通過在第二個片段中調用onCreateView來設置。 所以我用下面的代碼來解決這個調用片段onCreateView與上下文中的選項卡
actionBar.setSelectedNavigationItem(1);
actionBar.setSelectedNavigationItem(0);
它的工作原理,但在我看來,必須有解決這個問題的另一種可能性。就像調用第二個片段的onCreateView一樣?
這裏是相關的代碼片段。監聽器的實現方式與android-dev中的示例一樣,只是對小的更改不會影響我的問題。
simplexFragment對應於第一片段
graphicFragment對應於第二片段
// adds two tabs
actionBar.addTab(actionBar.newTab().setText("Input").setTabListener(new TabListener(null, "input_fragment")));
graphicFragment = new GraphicFragment();
actionBar.addTab(actionBar.newTab().setText("Graphic").setTabListener(new TabListener(graphicFragment, "graphic_fragment")));
simplexFragment.setGraphics(graphicFragment); // sets the internal reference!
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// selects the Tab so the GraphicFragments onCreateView will be called
actionBar.setSelectedNavigationItem(1);
actionBar.setSelectedNavigationItem(0);
感謝支持。
我已經使用了Fragments,因爲我想構建Tablet和Mobile-Phone的UI。這更多的是一個歷史問題 - 首先我使用回調方法,但是在實現選項卡時,兩個片段(每個選項卡包含)之間的同步存在問題,我必須從片段A - > B 。 OT:作爲模式和像片段這樣有趣的概念的粉絲,真的很傷心,我必須以這種方式使用這個概念...... – sascha10000 2013-05-06 09:16:16