下面列出了android.preference.MultiSelectListPreference#setSummary ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void updateReminderDaysSummary(MultiSelectListPreference daysPreference,
Set<String> savedValues) {
if (savedValues == null || savedValues.size() == 0) {
daysPreference.setSummary(getActivity().getResources().getString(
R.string.no_days_selected));
return;
}
List<String> daysEntries = Arrays.asList(getActivity().getResources()
.getStringArray(R.array.reminder_days_titles));
List<String> daysEntriesValues = Arrays.asList(getActivity().getResources()
.getStringArray(R.array.reminder_days_values));
String summary = "";
for (int i = 0; i < daysEntriesValues.size(); i++) {
if (savedValues.contains(daysEntriesValues.get(i))) {
if (!TextUtils.isEmpty(summary)) {
summary += ", ";
}
summary += daysEntries.get(i);
}
}
daysPreference.setSummary(summary);
}
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());
}
/**
* 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);
}
private void setSummaries() {
final String wifiOnly = preferences.getString(PBConstants.PREF_WIFI_ONLY,
getResources().getString(R.string.only_wifi_default)); // default
final ListPreference wifiPreference = (ListPreference) findPreference(PBConstants.PREF_WIFI_ONLY);
wifiPreference.setSummary(wifiOnly);
final String recentUploadOnly = preferences.getString(PBConstants.PREF_RECENT_UPLOAD_ONLY,
getResources().getString(R.string.only_recent_upload_default)); // default
final ListPreference recentUploadPreference = (ListPreference) findPreference(PBConstants.PREF_RECENT_UPLOAD_ONLY);
recentUploadPreference.setSummary(recentUploadOnly);
final String serverUrl = preferences.getString(PBServerPreferenceFragment.PREF_SERVER_URL, null);
if (serverUrl != null) {
final String serverName = preferences.getString(PBConstants.PREF_SERVER, null);
if (serverName != null) {
final PBServerListPreference serverPreference = (PBServerListPreference) findPreference(PBConstants.PREF_SERVER);
serverPreference.setSummary(serverName + " @ " + serverUrl);
// bonus: left icon of the server
final int serverNamesId = getResources().getIdentifier("pref_server_names", "array", getActivity().getPackageName());
final String[] serverNames = getResources().getStringArray(serverNamesId);
final int serverPosition = Arrays.asList(serverNames).indexOf(serverName);
final int serverIconsId = getResources().getIdentifier("pref_server_icons", "array", getActivity().getPackageName());
final String[] serverIcons = getResources().getStringArray(serverIconsId);
final String serverIcon = serverIcons[serverPosition];
final String[] parts = serverIcon.split("\\.");
final String drawableName = parts[parts.length - 1];
final int id = getResources().getIdentifier(drawableName, "drawable", getActivity().getPackageName());
if (id != 0) {
serverPreference.setIcon(id);
}
}
}
String bucketSummary = "";
final Set<String> selectedBuckets = preferences.getStringSet(PBConstants.PREF_PICTURE_FOLDER_LIST, null);
if (selectedBuckets != null && bucketNames != null) {
final ArrayList<String> selectedBucketNames = new ArrayList<>();
for (String entry : selectedBuckets) {
String oneName = bucketNames.get(entry);
if (oneName != null) {
oneName = oneName.substring(0, oneName.lastIndexOf('(') - 1);
selectedBucketNames.add(oneName);
}
}
bucketSummary = TextUtils.join(", ", selectedBucketNames);
}
final MultiSelectListPreference bucketListPreference = (MultiSelectListPreference) findPreference(PBConstants.PREF_PICTURE_FOLDER_LIST);
bucketListPreference.setSummary(bucketSummary);
}
private void updateSummary(MultiSelectListPreference pref) {
pref.setSummary(Arrays.toString(pref.getValues().toArray()));
}