应用程序使用Theme.Appcompat在ActionBar上崩溃

时间:2015-01-19 12:07:13

标签: android android-actionbar themes android-appcompat

我正在使用需要Theme.AppCompat才能工作的AndroidSlidingUpPanel。 我需要使用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上启动java.lang.NullPointerException(true );

        ActionBar actionBar = getActionBar();
        // Enabling Up / Back navigation
        actionBar.setDisplayHomeAsUpEnabled(true);

在Manifest中我定义了:

        android:theme="@style/AppCompatC"
        android:parentActivityName=".Launcher"

1 个答案:

答案 0 :(得分:1)

您应该将getSupportActionBar()与支持库一起使用。 此外,您的活动应该延长android.support.v7.app.ActionBarActivity,而不是android.app.Activity