Кнопка настройки активности вверх
У меня есть 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>
Я пытался добавить действие к onOptionsItemSelected
за R.id.home
без удачи Я также попытался добавить 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)'
1 ответ
Я полагаю, ваша база кода была сгенерирована 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);
}
Это обеспечит работу кнопки вверх.