小编Chr*_*erg的帖子

getActionBar()返回null

我有一个奇怪的问题.我正在使用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中运行良好,但在早期的蜂窝版本中,如果您不在方法中使用setContentView,则操作栏显然未设置onCreate().所以我通过setContentView()在我的方法中使用方法修复它,onCreate()并为它提供包含空FrameLayout的布局.我仍然可以fragmentTransaction.add(android.R.id.content, mFragment, mTag)像以前一样使用该方法.

这不是最漂亮的修复,但它确实有效.

android android-3.0-honeycomb android-actionbar

173
推荐指数
13
解决办法
16万
查看次数