java - 设置 Activity 向上按钮

标签 java android xml android-activity up-button

我有一个 SettingsActivity,它应该有一个链接回 MainActivity 的向上按钮。该按钮出现,但在单击时不执行任何操作。后退按钮工作正常。

AndroidManifest.xml:

<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.myapp.MainActivity" />
</activity>

我尝试为 R.id.home 添加一个操作到 onOptionsItemSelected 但没有成功。我还尝试将 getActionBar().setDisplayHomeAsUpEnabled(true); 添加到 onCreate(),但它使应用程序崩溃并出现以下错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.SettingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)'

最佳答案

我想你的代码库是由 Android Studio 生成的,因为我遇到了同样的问题。您可以将以下代码添加到您的 SettingsActivity 中。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {
        finish(); // or go to another activity
        return true;
    }
    return super.onOptionsItemSelected(item);
}

这将确保向上按钮有效。

关于java - 设置 Activity 向上按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250288/

相关文章:

java - 使用 iText,在内存中生成一个在磁盘上生成的 PDF

java - 如何测试输入是否为字符串(Java)

java - 字符串转换为时间(仅 hh :mm)

java - 如何从服务调用的线程更改 Activity 的进度条进度?

java - 使用 Java 删除 XML 字段中的空格

java - 如何使用 JAXB 编码没有 XML 根元素的 java 列表?

java - 为什么我在 GUI 中得到错误的日期时间格式?

java - 用java制作heroku分析工具

java - 使用 picasso 从加载的图像中获取 url

c# - 单元测试 XML 生成