下面列出了android.preference.CheckBoxPreference#setPersistent ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
static CheckBoxPreference addPreference(PreferenceFragment fragment) {
//>5.1// static SwitchPreference addPreference(PreferenceFragment fragment) {
PreferenceGroup pg = (PreferenceGroup) fragment.findPreference(PREFERENCE_CATEGORY_KEY);
if (pg != null) {
/*<5.1*/ CheckBoxPreference p = new CheckBoxPreference(pg.getContext());
//>5.1// SwitchPreference p = new SwitchPreference(pg.getContext());
p.setKey(PREFERENCE_KEY);
p.setTitle(PREFERENCE_TITLE);
p.setSummary(PREFERENCE_SUMMARY);
p.setPersistent(false);
pg.addPreference(p);
return p;
} else {
Log.e("FakeSignatureGlobalUI", "cannot find '" + PREFERENCE_CATEGORY_KEY +"' preference category");
return null;
}
}
static CheckBoxPreference addPreference(PreferenceFragment fragment) {
//>5.1// static SwitchPreference addPreference(PreferenceFragment fragment) {
PreferenceGroup pg = (PreferenceGroup) fragment.findPreference(PREFERENCE_CATEGORY_KEY);
if (pg != null) {
/*<5.1*/ CheckBoxPreference p = new CheckBoxPreference(pg.getContext());
//>5.1// SwitchPreference p = new SwitchPreference(pg.getContext());
p.setKey(PREFERENCE_KEY);
p.setTitle(PREFERENCE_TITLE);
p.setSummary(PREFERENCE_SUMMARY);
p.setPersistent(false);
pg.addPreference(p);
return p;
} else {
Log.e("FakeSignatureGlobalUI", "cannot find '" + PREFERENCE_CATEGORY_KEY +"' preference category");
return null;
}
}
static CheckBoxPreference addPreference(PreferenceFragment fragment) {
//>5.1// static SwitchPreference addPreference(PreferenceFragment fragment) {
PreferenceGroup pg = (PreferenceGroup) fragment.findPreference(PREFERENCE_CATEGORY_KEY);
if (pg != null) {
/*<5.1*/ CheckBoxPreference p = new CheckBoxPreference(pg.getContext());
//>5.1// SwitchPreference p = new SwitchPreference(pg.getContext());
p.setKey(PREFERENCE_KEY);
p.setTitle(PREFERENCE_TITLE);
p.setSummary(PREFERENCE_SUMMARY);
p.setPersistent(false);
pg.addPreference(p);
return p;
} else {
Log.e("FakeSignatureGlobalUI", "cannot find '" + PREFERENCE_CATEGORY_KEY +"' preference category");
return null;
}
}
public CheckBoxPreference makeCheckBox(PreferenceGroup parent, boolean persistent, String key,
boolean defaultValue, CharSequence title, CharSequence summary) {
CheckBoxPreference preference = new CheckBoxPreference(getActivity());
preference.setPersistent(persistent);
preference.setKey(key);
preference.setTitle(title);
if (summary != null) {
preference.setSummary(summary);
}
preference.setDefaultValue(defaultValue);
addPreference(parent, preference);
return preference;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.group_preferences);
PreferenceScreen screen = this.getPreferenceScreen();
prefStreams = (ListPreference) findPreference("pref_stream");
Bundle bundle = getArguments();
try {
group = new Group(new JSONObject(bundle.getString("group")));
serverStatus = new ServerStatus(new JSONObject(bundle.getString("serverStatus")));
} catch (JSONException e) {
e.printStackTrace();
}
final ArrayList<Stream> streams = serverStatus.getStreams();
final CharSequence[] streamNames = new CharSequence[streams.size()];
final CharSequence[] streamIds = new CharSequence[streams.size()];
for (int i = 0; i < streams.size(); ++i) {
streamNames[i] = streams.get(i).getName();
streamIds[i] = streams.get(i).getId();
}
prefStreams.setEntries(streamNames);
prefStreams.setEntryValues(streamIds);
for (int i = 0; i < streams.size(); ++i) {
if (streamIds[i].equals(group.getStreamId())) {
prefStreams.setTitle(streamNames[i]);
prefStreams.setValueIndex(i);
oldStream = prefStreams.getValue();
break;
}
}
prefStreams.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
for (int i = 0; i < streams.size(); ++i) {
if (streamIds[i].equals(newValue)) {
prefStreams.setTitle(streamNames[i]);
// client.getConfig().setStream(streamIds[i].toString());
prefStreams.setValueIndex(i);
break;
}
}
return false;
}
});
prefCatClients = (PreferenceCategory) findPreference("pref_cat_clients");
ArrayList<CheckBoxPreference> allClients = new ArrayList<>();
for (Group g : serverStatus.getGroups()) {
for (Client client : g.getClients()) {
CheckBoxPreference checkBoxPref = new CheckBoxPreference(screen.getContext());
checkBoxPref.setKey(client.getId());
checkBoxPref.setTitle(client.getVisibleName());
checkBoxPref.setChecked(g.getId().equals(group.getId()));
checkBoxPref.setPersistent(false);
allClients.add(checkBoxPref);
}
}
Collections.sort(allClients, new Comparator<CheckBoxPreference>() {
@Override
public int compare(CheckBoxPreference lhs, CheckBoxPreference rhs) {
return lhs.getTitle().toString().compareToIgnoreCase(rhs.getTitle().toString());
}
});
for (CheckBoxPreference pref : allClients)
prefCatClients.addPreference(pref);
oldClients = getClients().toString();
}