我有一个奇怪的问题。我正在使用targetsdk 13制作一个应用程序。
在我的主要活动的 onCreate 方法中,我调用getActionBar()
来设置我的操作栏。这在 Android 3.2 模拟器上运行时工作正常,但在使用 Android 3.0 和 3.1 时,该getActionBar()
方法返回 null。
我觉得这非常奇怪,我看不出有什么理由这样做。这是模拟器的错误还是我需要做些什么来确保我的应用程序具有操作栏?
解决方案:
我想我已经找到了解决这个问题的方法。我没有使用 setContentView 为活动设置布局。相反,我fragmentTransaction.add(android.R.id.content, mFragment, mTag)
用来向活动添加片段。这在 3.2 中运行良好,但在早期的蜂窝版本中,如果您不在onCreate()
方法中使用 setContentView,则显然未设置操作栏。setContentView()
所以我通过在我的方法中使用该方法来修复它,onCreate()
并为它提供一个包含空 FrameLayout 的布局。我仍然可以fragmentTransaction.add(android.R.id.content, mFragment, mTag)
像以前一样使用该方法。
这不是最漂亮的修复,但它有效。