Java PreferenceCategory类使用实例

发布时间:2025-12-09 12:04:36 浏览次数:1

实例1: initPrefsSummary

import android.support.v7.preference.PreferenceCategory; //导入依赖的package包/类/** * Init single Preference */protected void initPrefsSummary(SharedPreferences sharedPreferences,                                Preference p) {    if (p instanceof PreferenceCategory) {        PreferenceCategory pCat = (PreferenceCategory) p;        int pcCatCount = pCat.getPreferenceCount();        for (int i = 0; i < pcCatCount; i++) {            initPrefsSummary(sharedPreferences, pCat.getPreference(i));        }    } else {        updatePrefsSummary(sharedPreferences, p);        if (p instanceof RingtonePreference) {            p.setOnPreferenceChangeListener(new RingToneOnPreferenceChangeListener());            mRingtonePreference = (RingtonePreference) p;        }    }} 

实例2: onCreatePreferences

import android.support.v7.preference.PreferenceCategory; //导入依赖的package包/类@Overridepublic void onCreatePreferences(Bundle bundle, String s){    super.onCreatePreferences(bundle, s);    // Get our screen which is created in Skin SettingsFragment    PreferenceScreen screen = getPreferenceScreen();    // Get profile preference    PreferenceCategory category = (PreferenceCategory) screen.findPreference(KEY_PROFILE);    // If category exists, we should add mole mapper specific things. If not, that means we    // are not consented so we have no data to set.    if(category != null)    {        // Example Preference        Preference checkBoxPref = new Preference(screen.getContext());        checkBoxPref.setKey(KEY_EXAMPLE);        checkBoxPref.setTitle("Example Title");        checkBoxPref.setSummary("You need to extend your settings fragment from Skin's " +                "Settings fragment and then modify any preferences that you'd like");        category.addPreference(checkBoxPref);    }} 

实例3: onCreatePreferences

import android.support.v7.preference.PreferenceCategory; //导入依赖的package包/类@Overridepublic void onCreatePreferences(Bundle savedInstanceState, String rootKey) {    getPreferenceManager().setSharedPreferencesName(Constants.PREF_NAME);    addPreferencesFromResource(R.xml.monitor);    suVersion = Tools.SuVersion(getActivity());    isCMSU = Tools.SuVersionBool(suVersion);    mMonitor = (PreferenceCategory) findPreference("monitor_su");    mPerAppDontCare = (Preference) findPreference("per_app_dontcare");    mPerAppActive = (Preference) findPreference("per_app_active");    mAutoRestartSU = (SwitchPreference) findPreference("auto_restart_su");    mAutoRestartISU = (SwitchPreference) findPreference("auto_restart_isu");    mPerAppDeactive = (Preference) findPreference("per_app_deactive");    mMonitorView = (Preference) findPreference("per_app_view");    mMonitorWarning = (Preference) findPreference("per_app_warning");    mAutoRestartSU.setOnPreferenceChangeListener(this);    mAutoRestartISU.setOnPreferenceChangeListener(this);} 

实例4: onSharedPreferenceChanged

import android.support.v7.preference.PreferenceCategory; //导入依赖的package包/类@Overridepublic void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key){    switch(key)    {        case KEY_APP_MOLE_NAMING:            String defaultNamingConvention = Integer.toString(MoleNameHelper.Gender.RANDOM.ordinal());            String currentNamingConvInt = sharedPreferences.getString(key,                    defaultNamingConvention);            int currentNamingOrdinal = Integer.parseInt(currentNamingConvInt);            // Get App Category            PreferenceCategory categoryNaming = (PreferenceCategory) getPreferenceScreen().findPreference(                    KEY_APP);            // Get naming pref and change summary string            Preference namingConventionPref = categoryNaming.findPreference(KEY_APP_MOLE_NAMING);            namingConventionPref.setSummary(MoleNameHelper.Gender.values()[currentNamingOrdinal]                    .getNameResourceId());            break;        default:            super.onSharedPreferenceChanged(sharedPreferences, key);            break;    }} 

实例5: testDynamicPrefs

import android.support.v7.preference.PreferenceCategory; //导入依赖的package包/类private void testDynamicPrefs() {    final Context ctx = getPreferenceManager().getContext(); // this is the material styled context    final PreferenceCategory dynamicCategory = (PreferenceCategory) findPreference("pref_categ");    Preference prefAdd = findPreference("pref_add");    if (prefAdd != null) {        prefAdd.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {            private int n = 0;            @Override            public boolean onPreferenceClick(Preference preference) {                Preference newPreference = new Preference(ctx);                newPreference.setTitle("New preference " + n++);                newPreference.setSummary(Long.toString(System.currentTimeMillis()));                if (dynamicCategory != null) {                    dynamicCategory.addPreference(newPreference);                }                return true;            }        });    }} 
preferencecategory
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477