我在Stackoverflow中经历了很多类似的帖子,但似乎没有解决我的问题。
我正在尝试获取ActionBar
并调用setDisplayHomeAsUpEnabled(true)
。
我可以看到黑色的ActionBar(主题是黑色背景),活动名称显示为标题。但是在我的活动代码中,如果我尝试getActionBar()
,它总是返回null。
我尝试了onResume()
和onCreate()
中的代码(在充气布局之后)。它到处都返回null。有什么我想念的吗?
的AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ActivityMain"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这是我的样式定义。我正在使用Theme.AppCompat.Light.DarkActionBar
主题
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
另外,我使用以下依赖:
compile 'com.android.support:support-v4:22.1.0'
compile 'com.android.support:appcompat-v7:22.2.0'
我的活动类定义是:
MainActivity extends AppCompatActivity
答案 0 :(得分:3)
尝试使用getSupportActionBar()。最新的appcompat-v7似乎禁用了该系统。
答案 1 :(得分:2)
如果您的课程辩护是MainActivity extends AppCompatActivity
,您应该尝试使用getSupportActionBar()
如果您的课程辩护是MainActivity extends Activity
,您可以尝试使用getActionBar()(此调用需要API 11)