基于不同的API遇到ActionBar NullPointerException问题。我的所有活动都延伸Activity
。
这是我的代码:
摇篮
minSdkVersion 17
targetSdkVersion 23
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'
样式:
<style name="AppTheme" parent="Theme.AppCompat.Light">
样式(values-v21):
<style name="AppTheme" parent="android:Theme.Material.Light">
的活动:
ActionBar actionBar = getActionBar();
assert actionBar != null;
actionBar.hide();
它可以在 API23 上正常工作,但在较低的位置提供NullPointerException
。
阅读其他类似问题,尝试使用ActionBarActivity
(已弃用),AppCompatActivity
,SupportActionBar
,但我无法让它适用于不同的API。
有什么建议吗?任何帮助将非常感激。提前谢谢。
答案 0 :(得分:1)
你应该:
AppCompatActivity
getSupportActionBar()
代替getActionBar()
Theme.AppCompat.Light
(删除v21中的素材主题)答案 1 :(得分:0)
尝试扩展AppCompatActivity并使用getSupportActionBar()