gpt4 book ai didi

java - getActionBar().setDisplayHomeAsUpEnabled(true) 抛出 NullPointerException

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:22 25 4
gpt4 key购买 nike

这个问题在 stackoverflow 被问了好几次,我都试过了。但不幸的是,两者都不适合我。

作为学习 Android 应用程序开发的一部分,我正在尝试实现两个 Activity 之间的导航。我的 minium SDK 和目标 SDK 版本分别是 11 和 21 (Android 5)。我在 AndroidManifest.xml 中的设置如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.navigation"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />

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

我有两个 Activity :MainActivity 和 DetailActivity。当我单击 MainActivity 中的按钮时,应用程序成功打开了 DetailActivity。但是当我尝试使用以下代码启用后退按钮时,它返回 NullPointerExcepion:

getActionBar().setDisplayHomeAsUpEnabled(true);

我的两个类都扩展了 ActionBarActivity。

在 MainActivity.java 中:

public class MainActivity extends ActionBarActivity {
...
}

在DetailActivity.java中:

public class DetailActivity extends ActionBarActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);

getActionBar().setDisplayHomeAsUpEnabled(true); // returns null pointer
}

我也尝试过更改主题。例如,android:theme="@android:style/Theme.Holo.Light"

最佳答案

您继承自 ActionBarActivity。因此,您需要使用 getSupportActionBar() 而不是 getActionBar() 来获取 appcompat-v7 提供的操作栏后向端口。

关于java - getActionBar().setDisplayHomeAsUpEnabled(true) 抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27078476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com