我已經實現了我的偏好,如官方指南中所示。在子屏幕首選項中顯示按鈕在actionBar中
我有創建PreferenceFragment這樣的PreferenceActivity:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null)
{
Bundle bundle = new Bundle();
_widgetID = extras.getInt(GlobalSettings.EXTRA_WIDGET_ID);
bundle.putInt(GlobalSettings.EXTRA_WIDGET_ID, _widgetID);
WidgetSettingsFragment fragment = new WidgetSettingsFragment();
fragment.setArguments(bundle);
getFragmentManager().beginTransaction().replace(android.R.id.content,
fragment).commit();
}
}
的PreferenceFragment從資源加載的喜好和它們所包含的偏好子屏幕是這樣的:
<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>
這種運作良好,因此遠,但現在我想在顯示首選項子屏幕時在actionBar中有一個up-Button
。任何想法如何實現?
我試圖在我的活動中設置setDisplayHomeAsUpEnabled(true)
,但隨後上行按鈕僅顯示在主偏好設置中(不應該在此處顯示),而不顯示在子屏幕中。
我不知道,即使是在官方的文檔的子屏幕是不活躍上行按鈕顯示:
鏈接到文檔:Settings
任何幫助真的歡迎
據我所知,根據谷歌的設計建議,系統後退按鈕比這種情況下的上行導航更適合。否則,如果您創建了自己的新Activity,那麼可以使用getActionBar()。setDisplayHomeAsUpEnabled(true)來完成特定的子屏幕活動。 – webuster
有幾乎完全相同的問題:http://stackoverflow.com/questions/11971800/sethomebuttonenabled-on-preferenceactivity-and-nested-preference – Mdlc
問題是,我只有一個'PreferenceFragment'顯示偏好和自動偏好的子屏幕。我沒有子屏幕的活動或片段類。我不知道如何檢查子屏幕是否顯示,以便調用'setDisplayHomeAsUpEnabled(true)',因爲我沒有看到這個接口或回調。 – user1567896