繁体   English   中英

Android:如何通过xml中的操作栏从首选项子屏幕导航回来?

[英]Android: How to navigate back from preference subscreen via action bar in xml?

我有一个使用PreferenceFragement的现代SettingsActivity 我完全用XML定义了它的布局。 在我的设置中,我有一个偏好子屏幕。 通过单击它,将显示一个新的PreferenceScreen

因为看起来我只能使用后退按钮导航回主设置屏幕。 有没有办法通过子屏幕中的ActionBar启用导航? 我更喜欢通过XML启用它。

在此先感谢,高粱

编辑:

我想在右侧像左侧一样:

在此输入图像描述

以下是Google的相应代码段:

<PreferenceScreen  xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- opens a subscreen of settings -->
    <PreferenceScreen
        android:key="button_voicemail_category_key"
        android:title="@string/voicemail"
        android:persistent="false">
        <ListPreference
            android:key="button_voicemail_provider_key"
            android:title="@string/voicemail_provider" ... />
        <!-- opens another nested subscreen -->
        <PreferenceScreen
            android:key="button_voicemail_setting_key"
            android:title="@string/voicemail_settings"
            android:persistent="false">
            ...
        </PreferenceScreen>
        <RingtonePreference
            android:key="button_voicemail_ringtone_key"
            android:title="@string/voicemail_ringtone_title"
            android:ringtoneType="notification" ... />
        ...
    </PreferenceScreen>
    ...
</PreferenceScreen>

首先添加getActionBar().setDisplayHomeAsUpEnabled(true); onCreate()

然后尝试:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(android.R.id.home ==  item.getItemId() ){
        //  try one of these:

        // dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));

        // getFragmentManager().popBackStack();

        // finish();

        return true;
    }

    return super.onOptionsItemSelected(item);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM