Я пытаюсь реализовать экран настроек с помощью PreferenceFragmentCompat. В моем предпочтительном xml есть такой подэкран предпочтений:
preferences.xml
<CheckBoxPreference
android:defaultValue="false"
android:key="@string/pref_sound_key"
android:summary="@string/pref_sound_summary"
android:title="@string/pref_sound_title" />
<PreferenceScreen android:title="Inner Screen">
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/key_1"
android:title="@string/title_1" />
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/key_1"
android:title="@string/title_1" />
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/key_2"
android:title="@string/title_2" />
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/key_3"
android:title="@string/title_3" />
</PreferenceScreen>
</PreferenceScreen>
Теперь в приложении подэкран не открывается, пока я не реализую интерфейс PreferenceFragmentCompat.OnPreferenceStartScreenCallback в родительской активности, как указано в документе PreferenceFragmentCompat.
MainActivity.java
public boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat,
PreferenceScreen preferenceScreen) {
preferenceFragmentCompat.setPreferenceScreen(preferenceScreen);
return true;
}
Вот где возникает проблема. При реализации интерфейса открывается подэкран, но я не могу найти способ вернуться к первому экрану.
Нажатие кнопки возврата закрывает приложение.
Есть ли способ поместить стрелку назад на панель приложения, чтобы при нажатии на нее возвращался главный экран?