java - Android java.lang.NullPointerException getActionBar()

标签 java android nullpointerexception

我尝试实现一个设置 Activity 类,但它给了我一个错误:

Caused by: java.lang.NullPointerException
            at com.example.andrei.sunshine.SettingsActivity.setupActionBar(SettingsActivity.java:58)
            at com.example.andrei.sunshine.SettingsActivity.onCreate(SettingsActivity.java:48)
            at android.app.Activity.performCreate(Activity.java:5264)

这是行:getActionBar().setDisplayHomeAsUpEnabled(true);

AndroidManifest 是:

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".DetailActivity"
        android:label="@string/title_activity_detail"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.andrei.sunshine.MainActivity" />
    </activity>
    <activity
        android:name=".SettingsActivity"
        android:label="@string/title_activity_settings"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.andrei.sunshine.MainActivity" />
    </activity>
</application>

请帮助我

最佳答案

如果您的SettingsActivity扩展ActionBarActivity,您的getActionBar();将可用。

public class SettingsActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.yourLayout);
        //If you use support library
        //getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

请参阅documentation了解更多信息。

关于java - Android java.lang.NullPointerException getActionBar(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406895/

相关文章:

java - 如何从 Java 字符串中删除版权字符和其他非 ASCII 字符?

java - 代码行的执行顺序

java - 如何在 TextView 中显示 ArrayList 中的字符串

java - 什么是 NullPointerException,我该如何解决?

Android空指针异常

c# - 为什么基本身份验证无法与我的 Java SOAP Web 服务 WCF 客户端一起使用?

java.awt.Robot 未按预期运行

android - 为什么在尝试在 ScrollView 中单击按钮时设置 EditText 时会出现 Nullpointer 异常?

java - 有没有一种优雅的方法来打开包裹在 2 个嵌套的 Optionals 中的对象?

android - 从堆栈中清除后台 Activity 的正确方法是什么?