以编程方式切换片段

Posted

技术标签:

【中文标题】以编程方式切换片段【英文标题】:Switch fragments programmatically 【发布时间】:2012-02-01 00:43:16 【问题描述】:

我有一个带有两个片段的寻呼机,每个片段都有自己的 xml。 我的问题是是否可以通过编程方式从一个片段切换到另一个片段并触发任何侦听器?

最好的问候

【问题讨论】:

【参考方案1】:

我假设您的意思是ViewPager。您可以使用pager.setCurrentItem(index)在它们之间切换

【讨论】:

ViewPager 在同一个片段中。他想知道如何在碎片之间移动。我想知道同样的事情。【参考方案2】:

你需要在 ViewPager 中设置当前项,然后你应该通知适配器让它带来新的 Fragment。

ViewPager ViewPager;
FragmentPagerAdapter adapter;

pager.setCurrentItem(2);
adapter.notifyDataSetChanged();

【讨论】:

【参考方案3】:

如果你使用ViewPager,你可以试试setSelectedNavigationItem()。也就是说,您可以通过调用从一个片段切换到另一个片段:

int position = 0;  // position of the tab you want
((ParentActivity) getActivity()).getActionBar().setSelectedNavigationItem(position);

或者,如果您使用的是 ActionBarSherlock:

int position = 0;  // position of the tab you want
((ParentActivity) getActivity()).getSupportActionBar().setSelectedNavigationItem(position);

【讨论】:

以上是关于以编程方式切换片段的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式切换键盘配置文件

以编程方式切换视图

以编程方式快速切换视图

如何以编程方式快速切换到暗模式

以编程方式切换 MVC 视图控制器 - iOS

在 Swift 中以编程方式切换视图