应用程序在带有 Theme.Appcompat 的 ActionBar 上崩溃



我正在使用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

最新更新