【发布时间】:2016-03-21 07:26:55
【问题描述】:
我正在尝试使用 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;
}
这就是问题所在。在实现界面时,子屏幕打开,但是我找不到回到第一个屏幕的方法。
按返回键关闭应用程序。
有什么办法可以在应用栏上放一个后退箭头,这样按下它就会回到主屏幕?
【问题讨论】:
标签: android preference-v7