美好的一天,你们真棒!这是我的情况。我想基于ActionBar中的选项刷新嵌套片段的内容。该片段具有ListView,如果选择了第一个ActionBar选项,则应显示一个列表;如果选择了第二个选项,则应显示另一个列表。假设我的ActionBar中有几个选项(“全部”和“突出显示”)。
所需的片段位于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),但我担心这对我不起作用。有人有建议吗?
答案 0 :(得分:0)
使用标签!
执行交易时,您可以指定标记。
FragmentTransaction.add(Fragment fragment, String tag);
您可以使用
找到该片段 FragmentManager.findFragmentByTag(String tag);