/**
* Binds a preference's summary to its value. More specifically, when the
* preference's value is changed, its summary (line of text below the
* preference title) is updated to reflect the value. The summary is also
* immediately updated upon calling this method. The exact display format is
* dependent on the type of preference.
*
* @see #sBindPreferenceSummaryToValueListener
*/
private static void bindPreferenceSummaryToValue(Preference preference) {
// Set the listener to watch for value changes.
preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
// Trigger the listener immediately with the preference's
// current value.
SharedPreferences prefs = preference.getSharedPreferences();
Object value;
if (preference instanceof MultiSelectListPreference) {
value = prefs.getStringSet(preference.getKey(), new HashSet<String>());
} else {
value = prefs.getString(preference.getKey(), "");
}
sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, value);
}
java类android.preference.MultiSelectListPreference的实例源码
SettingsActivity.java 文件源码
项目:divertsy-client
阅读 35
收藏 0
点赞 0
评论 0
CustomRestrictionsFragment.java 文件源码
项目:buildAPKsSamples
阅读 27
收藏 0
点赞 0
评论 0
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.custom_prefs);
// This sample app uses shared preferences to maintain app restriction settings. Your app
// can use other methods to maintain the settings.
mBooleanPref = (CheckBoxPreference) findPreference(KEY_BOOLEAN_PREF);
mChoicePref = (ListPreference) findPreference(KEY_CHOICE_PREF);
mMultiPref = (MultiSelectListPreference) findPreference(KEY_MULTI_PREF);
mBooleanPref.setOnPreferenceChangeListener(this);
mChoicePref.setOnPreferenceChangeListener(this);
mMultiPref.setOnPreferenceChangeListener(this);
setRetainInstance(true);
}
QuietHoursActivity.java 文件源码
项目:GravityBox
阅读 26
收藏 0
点赞 0
评论 0
private void setupWeekDaysPref() {
mPrefWeekDays = (MultiSelectListPreference) findPreference(PREF_KEY_QH_WEEKDAYS);
String[] days = new DateFormatSymbols(Locale.getDefault()).getWeekdays();
CharSequence[] entries = new CharSequence[7];
CharSequence[] entryValues = new CharSequence[7];
for (int i = 1; i <= 7; i++) {
entries[i - 1] = days[i];
entryValues[i - 1] = String.valueOf(i);
}
mPrefWeekDays.setEntries(entries);
mPrefWeekDays.setEntryValues(entryValues);
if (mPrefs.getStringSet(PREF_KEY_QH_WEEKDAYS, null) == null) {
Set<String> value = new HashSet<String>(Arrays.asList("2", "3", "4", "5", "6"));
mPrefs.edit().putStringSet(PREF_KEY_QH_WEEKDAYS, value).commit();
mPrefWeekDays.setValues(value);
}
}
MainPreferencesFragment.java 文件源码
项目:ufrgs-mobile-android
阅读 24
收藏 0
点赞 0
评论 0
private void updateRestaurantList(){
MultiSelectListPreference restaurantPrefList = (MultiSelectListPreference) findPreference(getString(R.string.pref_restaurant_list));
List<Integer> restaurantSelectedIdList = new ArrayList<>();
if(restaurantPrefList.getValues().isEmpty()){
restaurantPrefList.setSummary("");
return;
}
for(String s : restaurantPrefList.getValues()){
restaurantSelectedIdList.add(restaurantPrefList.findIndexOfValue(s));
}
Collections.sort(restaurantSelectedIdList);
String restaurantSummary = "";
String separator = ", ";
for(int i : restaurantSelectedIdList){
restaurantSummary = restaurantSummary + restaurantPrefList.getEntries()[i] + separator;
}
restaurantSummary = restaurantSummary.substring(0, restaurantSummary.length() - separator.length());
restaurantPrefList.setSummary(restaurantSummary);
}
SettingsActivity.java 文件源码
项目:brailleback
阅读 42
收藏 0
点赞 0
评论 0
protected void showSetSelections (MultiSelectListPreference set, Set<String> values) {
StringBuilder label = new StringBuilder();
if (values.size() > 0) {
CharSequence[] labels = set.getEntries();
for (String value : values) {
if (value.length() > 0) {
if (label.length() > 0) {
label.append('\n');
}
label.append(labels[set.findIndexOfValue(value)]);
}
}
} else {
label.append("none selected");
}
set.setSummary(label.toString());
}
SettingsActivity.java 文件源码
项目:LLAMA
阅读 27
收藏 0
点赞 0
评论 0
protected static void setListPreferenceData(final ListPreference lp, final MultiSelectListPreference langsp, Promise p) {
p.done(new DoneCallback() {
@Override
public void onDone(Object result) {
Map<String, Language> langs = (Map<String, Language>) result;
List<String> entries = new ArrayList<>();
for (Language l : langs.values()) {
if (l.getNativeName().equals(l.getName())) {
entries.add(l.getNativeName());
} else {
entries.add(l.getNativeName() + " (" + l.getName() + ")");
}
}
langsp.setEntries(entries.toArray(new CharSequence[entries.size()]));
langsp.setEntryValues(langs.keySet().toArray(new CharSequence[entries.size()]));
langsp.setDefaultValue("en");
bindPreferenceSummaryToValue(langsp);
setListPreferenceData(lp, langsp, langsp.getValues());
}
});
}
SettingsFragment.java 文件源码
项目:Beacon-Scanner-Android
阅读 32
收藏 0
点赞 0
评论 0
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_scanning);
bindPreferenceToSummary();
setOnPreferenceClickListeners();
beaconFormatList = new HashSet<>();
sharedPreferences = getPreferenceManager().getSharedPreferences();
MultiSelectListPreference list = (MultiSelectListPreference) getPreferenceManager().findPreference("key_beacon_formats");
Set<String> beaconFormats = sharedPreferences.getStringSet("key_beacon_formats", beaconFormatList);
CharSequence[] sequences = beaconFormats.toArray(new CharSequence[beaconFormats.size()]);
list.setEntries(sequences);
list.setEntryValues(sequences);
}
SettingsActivity.java 文件源码
项目:AndrOBD
阅读 26
收藏 0
点赞 0
评论 0
/**
* set up protocol selection
*/
void setupElmCmdSelection()
{
MultiSelectListPreference pref =
(MultiSelectListPreference) findPreference(ELM_CMD_DISABLE);
ElmProt.CMD[] values = ElmProt.CMD.values();
HashSet<String> selections = new HashSet<String>();
CharSequence[] titles = new CharSequence[values.length];
CharSequence[] keys = new CharSequence[values.length];
int i = 0;
for (ElmProt.CMD cmd : values)
{
titles[i] = cmd.toString();
keys[i] = cmd.toString();
if(!cmd.isEnabled()) selections.add(cmd.toString());
i++;
}
// set enries and keys
pref.setEntries(titles);
pref.setEntryValues(keys);
pref.setValues(selections);
}
GroupPreferenceFragment.java 文件源码
项目:tickmate
阅读 22
收藏 0
点赞 0
评论 0
private void loadGroup() {
// Consider adding more features here, such as those in Track and TrackPreferenceFragment
name = (EditTextPreference) findPreference("name");
name.setText(group.getName());
name.setSummary(group.getName());
description = (EditTextPreference) findPreference("description");
description.setText(group.getDescription());
description.setSummary(group.getDescription());
mTracksPref = (MultiSelectListPreference) findPreference("tracks");
mTracksPref.setValues(getTrackIdsForGroupAsSet(group.getId()));
mTracksPref.setEntries(getAllTrackNamesAsCharSeq());
mTracksPref.setEntryValues(getAllTrackIdsAsCharSeq());
mTracksPref.setSummary(getTrackNamesForSummary());
}
PreferenceFragment.java 文件源码
项目:AcDisplay
阅读 39
收藏 0
点赞 0
评论 0
/**
* {@inheritDoc}
*/
@Override
public void setValue(@NonNull Preference preference,
@NonNull ConfigBase.Option option,
@NonNull Object value) {
int mode = (int) value;
String[] values = new String[Integer.bitCount(mode)];
for (int i = 1, j = 0; j < values.length; i <<= 1) {
if (Operator.bitAnd(mode, i)) {
values[j++] = Integer.toString(i);
}
}
Set<String> valuesSet = new HashSet<>();
Collections.addAll(valuesSet, values);
MultiSelectListPreference mslp = (MultiSelectListPreference) preference;
mslp.setValues(valuesSet);
}
Preferences.java 文件源码
项目:XInternalSD
阅读 39
收藏 0
点赞 0
评论 0
@Override
protected void onPostExecute(Void result) {
CharSequence[] appNamesList = appNames
.toArray(new CharSequence[appNames.size()]);
CharSequence[] packageNamesList = packageNames
.toArray(new CharSequence[packageNames.size()]);
enabledApps.setEntries(appNamesList);
enabledApps.setEntryValues(packageNamesList);
enabledApps.setEnabled(true);
disabledApps.setEntries(appNamesList);
disabledApps.setEntryValues(packageNamesList);
disabledApps.setEnabled(true);
Preference.OnPreferenceClickListener listener = new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
((MultiSelectListPreference) preference).getDialog().getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.FILL_PARENT);
return false;
}
};
enabledApps.setOnPreferenceClickListener(listener);
disabledApps.setOnPreferenceClickListener(listener);
}
SettingsActivity.java 文件源码
项目:Equate
阅读 31
收藏 0
点赞 0
评论 0
/**
* Helper Class to setup the default Unit Type preference list in code
*/
private void setUpUnitTypePrefs() {
PreferenceScreen screen = getPreferenceScreen();
MultiSelectListPreference listPref = new MultiSelectListPreference(super.getActivity());
listPref.setOrder(0);
listPref.setDialogTitle(R.string.unit_select_title);
listPref.setKey(UNIT_TYPE_PREF_KEY);
listPref.setSummary(R.string.unit_select_summary);
listPref.setTitle(R.string.unit_select_title);
listPref.setEntries(getUnitTypeNameArray(getResources()));
String[] keyArray = getUnitTypeKeyArray(getResources());
listPref.setEntryValues(keyArray);
final Set<String> result = new HashSet<>();
Collections.addAll(result, keyArray);
listPref.setDefaultValue(result);
screen.addPreference(listPref);
}
PreferenceFragment.java 文件源码
项目:HeadsUp
阅读 40
收藏 0
点赞 0
评论 0
/**
* {@inheritDoc}
*/
@Override
public void setValue(@NonNull Preference preference,
@NonNull ConfigBase.Option option,
@NonNull Object value) {
int mode = (int) value;
String[] values = new String[Integer.bitCount(mode)];
for (int i = 1, j = 0; j < values.length; i <<= 1) {
if (Operator.bitAnd(mode, i)) {
values[j++] = Integer.toString(i);
}
}
Set<String> valuesSet = new HashSet<>();
Collections.addAll(valuesSet, values);
MultiSelectListPreference mslp = (MultiSelectListPreference) preference;
mslp.setValues(valuesSet);
}
SettingsFragment.java 文件源码
项目:Performance-Tweaker
阅读 77
收藏 0
点赞 0
评论 0
@Override
public void onCreate(Bundle paramBundle) {
super.onCreate(paramBundle);
addPreferencesFromResource(R.xml.settings_preferences);
mMultiSelectListPreference = (MultiSelectListPreference) findPreference("select_apply_on_boot");
ArrayList<CharSequence> entries = new ArrayList<>();
entries.add(getString(R.string.cpu_frequency));
if (GpuUtils.isGpuFrequencyScalingSupported()) {
entries.add(getString(R.string.gpu_frequency));
}
entries.add(getString(R.string.io));
entries.add(getString(R.string.build_prop));
entries.add(getString(R.string.vm));
CharSequence[] charSequences = new CharSequence[entries.size()];
for (int i = 0; i < entries.size(); i++) {
charSequences[i] = entries.get(i);
}
mMultiSelectListPreference.setEntries(charSequences);
mMultiSelectListPreference.setEntryValues(charSequences);
}
NotificationPreferenceFragment.java 文件源码
项目:HoloIRC
阅读 23
收藏 0
点赞 0
评论 0
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.notification_settings);
setHasOptionsMenu(true);
final Vibrator vibrator = (Vibrator) getActivity().getSystemService(Context
.VIBRATOR_SERVICE);
if (!vibrator.hasVibrator()) {
final MultiSelectListPreference inAppSettings = (MultiSelectListPreference)
findPreference(PREF_IN_APP_NOTIFICATION_SETTINGS);
final MultiSelectListPreference outOfAppSettings = (MultiSelectListPreference)
findPreference(PREF_OUT_OF_APP_NOTIFICATION_SETTINGS);
inAppSettings.setEntries(R.array.notification_in_entries_no_vibrator);
inAppSettings.setEntryValues(R.array.notification_in_values_no_vibrator);
outOfAppSettings.setEntries(R.array.notification_out_entries_no_vibrator);
outOfAppSettings.setEntryValues(R.array.notification_out_values_no_vibrator);
}
}
PrefsActivity.java 文件源码
项目:GTFSOffline
阅读 32
收藏 0
点赞 0
评论 0
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
//dynamically populate this with the databases available
final DatabaseHelper dbHelper = new DatabaseHelper(getActivity());
dbHelper.gatherFiles();
final Set<String> mDBList = dbHelper.GetListofDB();
MultiSelectListPreference myMultPref = (MultiSelectListPreference) findPreference(getString(R.string.pref_dbs));
if (myMultPref != null) {
CharSequence entries[] = new String[mDBList.size()];
CharSequence entryValues[] = new String[mDBList.size()];
int i = 0;
for (String str : mDBList) {
entries[i] = str;
entryValues[i] = str;
i++;
}
myMultPref.setEntries(entries);
myMultPref.setEntryValues(entryValues);
}
}
SettingsActivity.java 文件源码
项目:DashClock_K-9
阅读 30
收藏 0
点赞 0
评论 0
/**
* Shows the simplified settings UI if the device configuration if the device configuration
* dictates that a simplified, single-pane UI should be shown.
*/
private void setupSimplePreferencesScreen() {
if (!isSimplePreferences(this)) {
return;
}
// In the simplified UI, fragments are not used at all and we instead
// use the older PreferenceActivity APIs.
// Add 'general' preferences.
addPreferencesFromResource(R.xml.pref_general);
MultiSelectListPreference accountListPreference =
(MultiSelectListPreference) findPreference("accounts_list");
new LoadAccounts(this, accountListPreference).execute();
}
SettingsActivity.java 文件源码
项目:DashClock_K-9
阅读 30
收藏 0
点赞 0
评论 0
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
if (preference instanceof MultiSelectListPreference) {
MultiSelectListPreference multiListPreference =
(MultiSelectListPreference) preference;
int accountCount = multiListPreference.getEntries().length;
int selectedCount = ((Set<String>) value).size();
preference.setSummary(preference.getContext().getString(
R.string.pref_summary_accounts, selectedCount, accountCount));
} else {
preference.setSummary(value.toString());
}
return true;
}
SettingsActivity.java 文件源码
项目:divertsy-client
阅读 28
收藏 0
点赞 0
评论 0
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
String stringValue = value.toString();
if (preference instanceof MultiSelectListPreference) {
// For multi select list preferences we should show a list of the selected options
MultiSelectListPreference listPreference = (MultiSelectListPreference) preference;
CharSequence[] values = listPreference.getEntries();
StringBuilder options = new StringBuilder();
for(String stream : (HashSet<String>) value) {
int index = listPreference.findIndexOfValue(stream);
if (index >= 0) {
if (options.length() != 0) {
options.append(", ");
}
options.append(values[index]);
}
}
preference.setSummary(options);
} else {
// For all other preferences, set the summary to the value's
// simple string representation.
preference.setSummary(stringValue);
}
return true;
}
SettingsActivity.java 文件源码
项目:divertsy-client
阅读 54
收藏 0
点赞 0
评论 0
public void loadWasteStreamSettings(){
final MultiSelectListPreference streamPrefs = (MultiSelectListPreference) findPreference(WeightRecorder.PREF_WASTE_STREAMS);
WasteStreams wasteStreams = new WasteStreams();
wasteStreams.loadWasteStreams(getActivity().getApplicationContext());
streamPrefs.setDefaultValue(wasteStreams.getDefaultStreamValues());
streamPrefs.setEntries(wasteStreams.getAllStreamNames());
streamPrefs.setEntryValues(wasteStreams.getAllStreamValues());
bindPreferenceSummaryToValue(streamPrefs);
}
QuietHoursActivity.java 文件源码
项目:GravityBox
阅读 29
收藏 0
点赞 0
评论 0
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPrefs = SharedPreferencesUtils.getSharedPreferences(getPreferenceManager(), "quiet_hours");
addPreferencesFromResource(R.xml.led_control_quiet_hours_settings);
setupWeekDaysPref();
mPrefSystemSounds = (MultiSelectListPreference) findPreference(PREF_KEY_QH_MUTE_SYSTEM_SOUNDS);
}
SettingsActivity.java 文件源码
项目:LLAMA
阅读 27
收藏 0
点赞 0
评论 0
private static void bindPreferenceSummaryToValue(MultiSelectListPreference preference) {
// Set the listener to watch for value changes.
preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
// Trigger the listener immediately with the preference's
// current value.
sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
PreferenceManager
.getDefaultSharedPreferences(preference.getContext())
.getStringSet(preference.getKey(), null));
}
SettingsActivity.java 文件源码
项目:LLAMA
阅读 31
收藏 0
点赞 0
评论 0
public static void setListPreferenceData(ListPreference lp, MultiSelectListPreference langsp, Set<String> values) {
List<String> entries = new ArrayList<>();
CharSequence[] entryValues = values.toArray(new CharSequence[entries.size()]);
CharSequence[] allEntries = langsp.getEntries();
for (String v : values) {
entries.add((String) allEntries[langsp.findIndexOfValue(v)]);
}
lp.setEntries(entries.toArray(new CharSequence[entries.size()]));
lp.setEntryValues(entryValues);
lp.setDefaultValue(entryValues[0]);
bindPreferenceSummaryToValue(lp);
}
MultiSelectListPreferenceSubject.java 文件源码
项目:truth-android
阅读 29
收藏 0
点赞 0
评论 0
public static SubjectFactory<MultiSelectListPreferenceSubject, MultiSelectListPreference> type() {
return new SubjectFactory<MultiSelectListPreferenceSubject, MultiSelectListPreference>() {
@Override
public MultiSelectListPreferenceSubject getSubject(FailureStrategy fs, MultiSelectListPreference that) {
return new MultiSelectListPreferenceSubject(fs, that);
}
};
}
NFCLockScreenOffEnablerActivity.java 文件源码
项目:NFCLockScreenOffEnablerMM
阅读 21
收藏 0
点赞 0
评论 0
@SuppressWarnings("deprecation")
private void getViews() {
mEnableTagLostCheckBox = (CheckBoxPreference) findPreference(Common.PREF_TAGLOST);
mEnableNfcForStatesList = (ListPreference) findPreference("enable_nfc_for_lock_state");
mCopyrightPreference = findPreference("copyright_key");
//mPresenceCheckTimeoutPreference = (EditTextPreference) findPreference(Common.PREF_PRESENCE_CHECK_TIMEOUT);
mSoundsToPlay = (MultiSelectListPreference) findPreference(Common.PREF_SOUNDS_TO_PLAY);
}
Settings.java 文件源码
项目:LogsFilter
阅读 38
收藏 0
点赞 0
评论 0
@SuppressWarnings("deprecation")
public void reloadLogsFilter() {
MultiSelectListPreference logsFilter = (MultiSelectListPreference) findPreference("logs_filter_manage");
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
Set<String> items = prefs.getStringSet(LOGS_FILTER_MANAGE,
new HashSet<String>());
CharSequence[] logsFilterItems = items.toArray(new CharSequence[items
.size()]);
logsFilter.setEntries(logsFilterItems);
logsFilter.setEntryValues(logsFilterItems);
}
SprocketsPreferenceFragmentTest.java 文件源码
项目:sprockets-android
阅读 24
收藏 0
点赞 0
评论 0
private MultiSelectListPreference multi() {
MultiSelectListPreference pref = new MultiSelectListPreference(a);
pref.setKey(MULTI);
pref.setEntries(new String[]{"One", "Two", "Three"});
pref.setEntryValues(new String[]{"1", "2", "3"});
return pref;
}
PBPreferenceFragment.java 文件源码
项目:client-android
阅读 23
收藏 0
点赞 0
评论 0
private void fillBuckets() {
this.bucketNames = PBApplication.getMediaStore().getBucketData();
final CharSequence[] ids = this.bucketNames.values().toArray(new CharSequence[this.bucketNames.size()]);
final CharSequence[] names = this.bucketNames.keySet().toArray(new CharSequence[this.bucketNames.size()]);
final MultiSelectListPreference bucketListPreference = (MultiSelectListPreference) findPreference(PBConstants.PREF_PICTURE_FOLDER_LIST);
bucketListPreference.setEntries(ids);
bucketListPreference.setEnabled(true);
bucketListPreference.setEntryValues(names);
setSummaries();
}
SettingsActivity.java 文件源码
项目:AndrOBD
阅读 52
收藏 0
点赞 0
评论 0
/**
* set up selection for PIDs
*/
void setupPidSelection()
{
MultiSelectListPreference itemList =
(MultiSelectListPreference) findPreference(KEY_DATA_ITEMS);
// collect data items for selection
items = ObdProt.dataItems.getSvcDataItems(ObdProt.OBD_SVC_DATA);
HashSet<String> selections = new HashSet<String>();
CharSequence[] titles = new CharSequence[items.size()];
CharSequence[] keys = new CharSequence[items.size()];
// loop through data items
int i = 0;
for (EcuDataItem currItem : items)
{
titles[i] = currItem.label;
keys[i] = currItem.toString();
selections.add(currItem.toString());
i++;
}
// set enries and keys
itemList.setEntries(titles);
itemList.setEntryValues(keys);
// if there is no item selected, mark all as selected
if (itemList.getValues().size() == 0)
{
itemList.setValues(selections);
}
}
GemPreferenceFragment.java 文件源码
项目:GemXperiaXposed
阅读 45
收藏 0
点赞 0
评论 0
public void resetPreference(String pref)
{
Preference p = findPreference(pref);
if(p instanceof MultiSelectListPreference)
((MultiSelectListPreference)p).setValues(new HashSet<String>());
else if(p instanceof GemListPreference)
((GemListPreference)p).resetValue();
else if(p instanceof ColorPickerPreference)
((ColorPickerPreference)p).resetValue();
}