0

背景:使用最小SDK级别8和目标SDK级别15创建应用程序?

我的工作再工作了我的一个旧的应用程序来使用操作栏的,但是我想,当然还是打了一个相当大的重点小组是2.3.3的用户。

问题:

我的应用程序适用于我的新的果冻豆电话很好,但我的大姜饼手机NoSuchMethodException在“getActionBar()...等的崩溃

我知道这是发生,因为手机不支持它..但我不明白为什么,因为我使用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个文件夹 - 一个是价值观,价值观-V11

值包含此其风格文件:

<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> 

回答

0

更改“getActionBar()”为“getSupportActionBar()”,它应该工作。 另外,确保你的Activity是继承SherlockActivity或SherlockFragmentActivity。

getActionBar()已添加到API级别11中,ActionBarSherlock添加了getSupportActionBar()方法以实现向后兼容性。

相关问题