Android Actionbar替换片段称为“不显示任何内容”

Android Actionbar替换片段称为“不显示任何内容”,android,android-fragments,Android,Android Fragments,我完全迷路了,这么简单的事情怎么会这么难做呢?我有一个带有片段(id:listfragment)的MainActivity。当活动开始时,显示包含新闻项的列表。我所要做的就是选择一个选项卡时,用另一个选项卡替换列表。我希望这就足够了: @Override public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) { // TODO Auto-generated method st

我完全迷路了,这么简单的事情怎么会这么难做呢?我有一个带有片段(id:listfragment)的MainActivity。当活动开始时,显示包含新闻项的列表。我所要做的就是选择一个选项卡时,用另一个选项卡替换列表。我希望这就足够了:

@Override
    public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) {
        // TODO Auto-generated method stub

        switch(tab.getPosition()) {

        case 0:
            Toast.makeText(this, "Tab News", Toast.LENGTH_SHORT).show();
            // News
            Fragment nfragment = new NewsList();
            fragmentTransaction.replace(R.id.listfragment, nfragment);
            break;

        case 1:
            Toast.makeText(this, "Tab Videos", Toast.LENGTH_SHORT).show();
            // Videos
            Fragment vfragment = new YoutubeList();
            fragmentTransaction.replace(R.id.listfragment, vfragment);
        }

    }
新的片段被调用(我检查了添加日志),但没有显示布局。有人能帮我摆脱痛苦吗

我尝试添加.commit()。应用程序立即崩溃。我知道commit是自动调用的(正如他们在deandroid文档中所说的那样),但我不明白为什么它没有显示任何内容

添加后记录。提交()

03-01 09:43:00.736:D/dalvikvm(4509):释放79K,14%释放10147K/11732K,暂停28ms,总计29ms
03-01 09:43:00.736:I/dalvikvm堆(4509):为1127536字节分配将堆(frag大小写)增长到12.450MB

03-01 09:43:00.756:D/dalvikvm(4509):GC_FOR_ALLOC freed如果在xml中使用fragment标记定义一个片段,则无法在运行时替换它。改用FrameLayout并使用相同的id

你可能有这样的想法:

<fragment ....
          android:id="@+id/listfragment"
          ....  />

将其更改为:

<FrameLayout ....
             android:id="@+id/listfragment"
             ....  />

如果您在xml中使用fragment标记定义了一个片段,那么在运行时无法替换它。改用FrameLayout并使用相同的id

你可能有这样的想法:

<fragment ....
          android:id="@+id/listfragment"
          ....  />

将其更改为:

<FrameLayout ....
             android:id="@+id/listfragment"
             ....  />

如果您在xml中使用fragment标记定义了一个片段,那么在运行时无法替换它。改用FrameLayout并使用相同的id

你可能有这样的想法:

<fragment ....
          android:id="@+id/listfragment"
          ....  />

将其更改为:

<FrameLayout ....
             android:id="@+id/listfragment"
             ....  />

如果您在xml中使用fragment标记定义了一个片段,那么在运行时无法替换它。改用FrameLayout并使用相同的id

你可能有这样的想法:

<fragment ....
          android:id="@+id/listfragment"
          ....  />

将其更改为:

<FrameLayout ....
             android:id="@+id/listfragment"
             ....  />


请包括一个例子,这个答案太简短,更多的是一个评论。没有问题+1包括这个例子:)这个例子节省了时间!谢谢!请包括一个例子,这个答案太短,更多的是一个评论。没有问题+1包括例子:)这个例子保存了一天!谢谢!请包括一个例子,这个答案太短,更多的是一个评论。没有问题+1包括例子:)这个例子保存了一天!谢谢!请包括一个例子,这个答案太短,更多的是一个评论。没有问题+1包括例子:)这个例子保存了一天!谢谢!