[英]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.