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()方法以實現向後兼容性。

相關問題