我有一个 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/