片段包含两个ListFragments

时间:2012-04-12 21:19:28

标签: java android android-layout android-fragments android-activity

我正在尝试设置一个平板电脑友好的界面。因此,我有两个导航选项卡,打开两个碎片。 主要活动是onCreate:

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mActionBar = getActionBar();
    mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    Tab mainTab = mActionBar.newTab()
            .setText("Articoli")
            .setTabListener(new TabEventListener(new InListFragment(0)));
    Tab favTab = mActionBar.newTab()
            .setText("Preferiti")
            .setTabListener(new TabEventListener(new TestFragment("Preferiti")));

    mActionBar.addTab(mainTab);
    mActionBar.addTab(favTab);

}

这是我的TabEvengListener:

public class TabEventListener implements TabListener {
Fragment mFragment;

public TabEventListener(Fragment fragment) {
    mFragment = fragment;
}

public void onTabSelected(Tab tab, FragmentTransaction ft) {
    ft.replace(android.R.id.content, mFragment, mFragment.getTag());
}

public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    ft.remove(mFragment);
}

public void onTabReselected(Tab tab, FragmentTransaction ft) {
    //NOTHING ATM
}

}

现在,我指的是这个API演示:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.html我有一个Activity,其布局包含一个或两个片段,具体取决于屏幕状态。我的问题出现了:我不是一个活动,而是一个片段,我找不到任何方法来声明布局以获得两个子片段。 我想 - 在平板电脑上 - 有两个窗格的界面,一个带有“标题列表”(对话列表),另一个带有“详细列表”(文本)。

我想知道是否有一种简单的方法来执行我所解释的内容,或者我必须删除导航选项卡,以便我可以使用Activity而不是Fragment并遵循API演示。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您阅读documentation,您会找到此定义

“片段表示活动中的行为或用户界面的一部分”和“片段必须始终嵌入活动中”

所以我认为答案是“不,你不能”