【发布时间】:2014-01-16 13:36:24
【问题描述】:
美好的一天,你们这些了不起的人!这是我的情况。我想根据 ActionBar 中的选项刷新嵌套片段的内容。该片段有一个 ListView,如果选择了第一个 ActionBar 选项,则应显示一个列表,如果选择了第二个选项,则应显示另一个列表。假设我的 ActionBar 中有几个选项(“All” 和 “Highlighted”)。
所需的片段在 TabHost 中,它有一个 ViewPager。
<TabHost>
<LinearLayout>
<TabWidget
android:id="@android:id/tabs" />
<FrameLayout
android:id="@android:id/tabcontent" />
<android.support.v4.view.ViewPager
android:id="@+id/pager" />
</LinearLayout>
另外,这是我添加标签的方式:
mHomeTabsAdapter.addTab(mTabHost.newTabSpec("controls").setIndicator("CONTROLS"), ControlsFragment.class, null);
由于我以编程方式添加片段,因此我不能给它一个 id 并使用 FragmentManager 通过 ID 找到它。如何获得对 ControlsFragment 的引用,以便我可以从 MainActivity 的 onNavigationItemSelected 刷新它?
在理想情况下,我应该能够在 onNavigationItemSelected 中获得对片段的引用,并重新实例化为列表提供项目的适配器。
我阅读了通讯文章 (http://developer.android.com/training/basics/fragments/communicating.html),但恐怕它对我不起作用。有人有建议吗?
【问题讨论】: