【问题标题】:Settings activity up button设置活动向上按钮
【发布时间】:2016-03-27 17:19:30
【问题描述】:

我有一个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.homeonOptionsItemSelected 添加一个动作,但没有成功。我还尝试将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)'

【问题讨论】:

  • 你试过getSupportActionBar().setDisplayHomeAsUpEnabled(true);吗?
  • 请阅读完整的问题 ;)
  • 是的,兄弟我已经读过了,我说的是getSupportActionBar()
  • 感谢您的澄清。我都试过了。支持操作不起作用,但不会崩溃。
  • 有时还需要它来完成这项工作,getSupportActionBar().setHomeButtonEnabled(true);。试着把上面和这两个语句放在一起。

标签: java android xml android-activity up-button


【解决方案1】:

我想您的代码库是由 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);
}

这将确保向上按钮有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2018-07-08
    • 2020-11-23
    • 1970-01-01
    相关资源
    最近更新 更多