FragmentTransaction #add(int,Fragment)没有做任何事情

时间:2015-04-09 23:16:29

标签: android android-fragments

我有一个ActionBarActivity(顺便说一句,扩展android.support.v4.app.FragmentActivity),我想在最顶层添加一个片段。这是我的代码:

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
NotificationsFragment fragment = new NotificationsFragment();
ft.add(R.id.pager, fragment).commit();

其中:

  • NotificationsFragment扩展android.support.v4.app.Fragment
  • R.id.pager是根视图的ID(android.support.v4.view.ViewPager

当上面的代码运行时,没有任何反应。没有例外,崩溃或任何视觉变化。根本不值一提。我已经看过FragmentTransaction not doing anything并且有人建议使用replace代替add,当我尝试使用时,寻呼机的片段(记住,我的根)正在显示的视图是一个寻呼机消失了。

我不知道发生了什么,我也是Android新手。我做错了什么?

注意:我在ICS中的最低API目标(15),因此我不需要支持任何旧版本,因此任何涉及较新API的解决方案都是首选。< / p>

2 个答案:

答案 0 :(得分:0)

我在我的应用程序中使用了ViewPager,并使用了FragmentStatePagerAdapter。 它将为您处理片段管理。

您可以阅读有关ViewPager here的更多信息。

和FragmentStatePagerAdapter here

答案 1 :(得分:0)

我自己找到了解决方案。我添加了一个框架布局作为根视图,并添加了寻呼机作为它的孩子。然后我将我的片段添加到根视图,而不是寻呼机。它很有效,显然视图分页器根本没有添加到自身的自定义片段。