小编Arp*_*wal的帖子

如何从PreferenceFragmentCompat中的Preferences子屏幕移回主屏幕?

我正在尝试使用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>
Run Code Online (Sandbox Code Playgroud)

首选主屏幕

现在,在应用程序中,子屏幕在我在父活动中实现PreferenceFragmentCompat.OnPreferenceStartScreenCallback接口之前不会打开,如PreferenceFragmentCompat doc中所指定的那样.

MainActivity.java

public boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat,
 PreferenceScreen preferenceScreen) {    
    preferenceFragmentCompat.setPreferenceScreen(preferenceScreen);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这就是问题出现的地方.在实现界面时,子屏幕打开,但是我无法找到回到第一个屏幕的方法.

偏好子屏幕

按后退键可关闭应用程序.

有什么办法我可以在应用栏上放一个后箭头,这样按下它会把主屏幕拉回来吗?

android preference-v7

10
推荐指数
1
解决办法
5513
查看次数

标签 统计

android ×1

preference-v7 ×1