getSupportFragmentManager()。beginTransaction()。add(android.R.id.content,f)not working

时间:2013-08-18 10:17:45

标签: android android-fragmentactivity android-actionbar-compat

// Place an ArticleFragment as our content pane
final ArticleFragment f = new ArticleFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, f).commit();

这行代码来自NewsReader sample app

如果活动延长ActionBarActivity,他们为什么不工作?如果活动扩展了FragmentActivity,一切正常。

更新

不工作意味着:ArticleFragment不会变得可见,它会在Android< 4.x,也许< 3.x但是我没有安装Android 3.x的设备来测试它。

为什么?

拉​​尔夫

2 个答案:

答案 0 :(得分:7)

使用android.R.id.content时,

ActionBarActivity无法在Android 2.3及更低版本上运行。 There is a bug filed for this,虽然我怀疑它会得到解决。我找到的唯一解决方法是使用您自己的setContentView()拨打FrameLayout并将其用作FragmentTransaction的目标。

答案 1 :(得分:0)

因为它应该扩展SherlockFragmentActivity或任何其他支持库,就像以前的Android版本一样,你必须在你的lib文件夹中添加一个支持库,

然而,如果你想让你的应用程序工作,getSupportFragmentManager适用于之前的Android版本,因为它将getSupportFragmentManager更改为getFragmentManager并将你的minSdkVersion更改为11并定位到17,祝你好运