我正在使用AndroidSlidingUpPanel,需要Theme.AppCompat才能工作。我需要使用 ActionBar 来显示后退导航按钮,所以我创建了一个父主题"AppCompatC",其中我声明了 windowActioBar = true:
<style name="AppCompatC" parent="Theme.AppCompat">
<item name="windowActionBar">true</item>
<item name="windowActionBarOverlay">false</item>
<item name="background">@android:color/transparent</item>
<item name="logo">@drawable/ic_launcher</item>
<item name="homeAsUpIndicator">@drawable/ic_action_previous_item</item>
</style>
如果我启动应用程序,活动会加载 ActionBar,但如果我也从代码中调用它(因为我需要在栏中看到启动器图标),则会在 actionBar.setDisplayHomeAsUpEnabled(true) 上启动 java.lang.NullPointerException;
ActionBar actionBar = getActionBar();
// Enabling Up / Back navigation
actionBar.setDisplayHomeAsUpEnabled(true);
在清单中,我定义了:
android:theme="@style/AppCompatC"
android:parentActivityName=".Launcher"
您应该将getSupportActionBar()
与支持库一起使用。此外,您的活动应该延长android.support.v7.app.ActionBarActivity
,而不是android.app.Activity