背景:
我正在重新开发我的一个旧应用程序以使用操作栏,但是我当然仍然想打一个相当大的焦点小组,即 2.3.3 用户。
问题:
我的应用程序在我较新的果冻豆手机上运行良好,但在我较旧的 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 清单文件也有:
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>