我试图实现一个Setting 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>
请帮帮我
答案 0 :(得分:2)
如果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。
答案 1 :(得分:0)
您应该查看此参考http://developer.android.com/intl/es/guide/topics/ui/actionbar.html
如果您支持的API级别低于11:
import android.support.v7.app.ActionBar
如果仅支持API级别11及更高级别:
import android.app.ActionBar
使用getSupportActionBar
而不是使用getActionBar答案 2 :(得分:0)
如果您的主题是NoTitleBar或NoActionBar,或者您在getActionBar()
setContentView(R.layout.layout);
,则可能会发生这种情况
答案 3 :(得分:0)
如果您使用appcompact ActionbarActivity,请尝试将其更改为getSupportActionBar()