【发布时间】:2013-04-23 01:43:15
【问题描述】:
我有 2 个标签和 2 个相应的片段。在调用 LAUNCH Activity 时,添加了两个选项卡,然后将显示添加的第一个选项卡。因此,第一个片段 onCreateView 被称为第二个片段而不是。
就我而言,这是一个问题,因为第一个 Fragment 必须调用第二个 Fragment 上的方法。在第二个 Fragment 中有一个 Objectreference,它将通过调用第二个 Fragment 中的 onCreateView 来设置。
因此我使用以下代码 sn-p 来解决这个问题
actionBar.setSelectedNavigationItem(1);
actionBar.setSelectedNavigationItem(0);
它有效,但我认为必须有另一种可能性来解决这个问题。比如调用第二个Fragment的onCreateView?
这里是相关代码sn-p。监听器的实现方式与 android-dev 示例一样,只有很小的更改不会影响我的问题。
simplexFragment 对应第一个Fragment
graphicFragment对应第二个Fragment
// 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);
感谢支持。
【问题讨论】:
标签: android tabs android-fragments