我有一个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生成的,因为我遇到了同样的问题。您可以将以下代码添加到设置活动中。
@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);
}
这将确保向上按钮工作。