在我升级到支持库v21之后,我的ActionBar PreferenceActivity就消失了.
我是否错过了我的主题中的一些属性来再次激活它?黑色ActionBar我遇到了类似的麻烦.
我还尝试通过添加Toolbar到根布局来添加它有点hackish ,但是这没有按预期工作.
android preferenceactivity android-support-library android-5.0-lollipop
在ApiDemos for Android 4.0中尝试不同的首选项活动,我在代码中看到,例如,在PreferencesFromCode.java中不推荐使用某些方法.
所以我的问题是:如果我使用PreferenceFragment,它是适用于所有版本还是仅适用于3.0或4.0及更高版本?
如果是这样,我应该使用哪种适用于2.2和2.3呢?
我已经实现了我的偏好,如官方指南中所示.
我有一个PreferenceActivity,可以像这样创建PreferenceFragment:
@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();
}
}
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
到目前为止这种方法效果很好,但现在我想 …
settings android preferences preferenceactivity preferencefragment