如何在每个导航选项卡的片段内创建2个片段

时间:2012-05-27 10:43:07

标签: android android-fragments fragment android-actionbar

我在Android开发者网站

中关注Action bar tutorial

onCreate的{​​{1}}中,我添加了这样的标签;

ActionBarActivity.class

所以,我会 Tab tab = actionBar.newTab() .setText(R.string.artist) .setTabListener(new TabListener<ArtistFragment>( this, "artist", ArtistFragment.class)); actionBar.addTab(tab); ,但我不确定如何在ArtistFragment extend Fragment内添加2个片段(ListFragment和DetailFragment)ArtistFragment内的内容是什么?

enter image description here

3 个答案:

答案 0 :(得分:2)

Warpzit说的是什么。每Android: Can you nest Fragments?,碎片不能嵌套。您的片段可以通过达到其父Activity来导致另一个片段与其一起实例化。我通常不建议这样做,因为片段应该是封装的单位。但是如果你的碎片紧密耦合(例如,对应于列表项的细节显示),我可以看到它。

您的代码看起来像这样:

            FragmentManager fm = getActivity().getSupportFragmentManager();
            MyFragmentClass myFragment = new MyFragmentClass();
            fm.beginTransaction().add(android.R.id.content, myFragment).commit();

答案 1 :(得分:1)

Android不支持片段中的片段(暂时)。您应该尝试创建一个支持2个与您的活动进行通信的片段的布局,或者使用1个片段来处理这两个片段所做的工作。

答案 2 :(得分:0)

我发现API Demos项目中的FragmentTabs示例非常有用。

只需从Eclipse创建一个新的Android示例项目并选择API演示(尝试API 13)。另外,对于支持(兼容)库,Support4Demos中有一个FragmentTabs演示