【发布时间】:2013-10-11 22:58:56
【问题描述】:
背景:
我正在重新设计我的一个旧应用程序以使用操作栏,但是我当然仍然希望吸引一个相当大的焦点小组,即 2.3.3 位用户。
问题:
我的应用在我较新的 Jelly Bean 手机上运行良好,但在我较旧的 GingerBread 手机上因“getActionBar()...等时出现 NoSuchMethodException 而崩溃。
我知道发生这种情况是因为手机不支持它..但我不明白为什么,因为我使用的是 android-support-v4.jar,我可以看到方法并且代码很好,没有任何编译错误。
我的研究:
我读过其他帖子,他们说将 minSdkVersion 更改为 11,它应该可以正常工作,但我希望支持旧设备。
我在之前的项目中也使用过神奇的actionbarsherlock库,没有出现这个问题……
详情:
在我的 android SDK 文件中,我有
<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8"/>
我正在使用 Android Studios,所以我将项目的构建目标设置为 4.2.2(我不确定这是否正确)..
我的安卓清单文件也有:
android:theme="@style/AppTheme">
我的 res 文件夹中有 2 个文件夹 - 一个是 values 和 values-v11
values 在其样式文件中包含此内容:
<resources>
<style name="AppBaseTheme" parent="@android:style/Theme.NoTitleBar">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
并且 values-v11 在其样式文件中包含此内容:
<resources>
<style name="AppTheme" parent="android:Theme.Holo.Light" />
<style name="MenuTheme" parent="android:Theme.NoTitleBar" />
</resources>
【问题讨论】:
标签: android-actionbar actionbarsherlock android-4.2-jelly-bean android-support-library android-2.3-gingerbread