我有一个奇怪的问题。我正在使用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)
像以前一样使用该方法。
这不是最漂亮的解决方法,但是可以解决。