我有一个奇怪的问题.我正在使用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)
像以前一样使用该方法.
这不是最漂亮的修复,但它确实有效.
我想我已经老了,因为我确信要为你的应用程序命名,你必须填写清单的这一部分:
<application android:icon="@drawable/icon" android:label="MyApplicationName">
Run Code Online (Sandbox Code Playgroud)
但是由于我不明白的原因,我的应用程序获取了我的第一个活动的名称,我在其中加载数据,因此,它被称为"加载",在清单中定义如下:
<activity android:name="AccueilSplash" android:label="Loading">
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?