发布时间:2025-12-09 12:04:36 浏览次数:1
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; } }} 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); }} 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);} 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; }} 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; } }); }}