在座的科索沃是我最后得到库尔德人的帮助。
基本上,在我开始优惠活动的法典中,如果你只想其中一部分,我就没有对所有优惠采取行动。 这一行动需要与某种类型的优惠或优惠集团的关键相匹配。
// all preferences
Intent launchPreferencesIntent = new Intent().setClass(this,
PreferencesFromXml.class);
startActivity(launchPreferencesIntent);
// just key_trip_plot_control_preferences
Intent launchPreferencesIntent = new Intent(
getString(R.string.key_trip_plot_control_preferences))
.setClass(this, PreferencesFromXml.class);
startActivity(launchPreferencesIntent);
在我的普惠制班子中,我总是会增加Xml的偏好,但如果我采取行动,则我会寻求一种对应的关键。 如果我发现我放弃了所有的偏好,那么,如果它是一个优惠集团的话,就会增加配对。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
String act = getIntent().getAction();
if (act != null) {
Preference res = findPreferenceByKey(getPreferenceScreen(), act);
if (res != null) {
getPreferenceScreen().removeAll();
if (res instanceof PreferenceGroup) {
PreferenceGroup groupe = (PreferenceGroup) res;
// add sub items
for (int i = 0; i < groupe.getPreferenceCount(); i++) {
Preference pref = groupe.getPreference(i);
if (pref != null) {
getPreferenceScreen().addPreference(pref);
}
}
} else { // just add the item.
getPreferenceScreen().addPreference(res);
}
}
}
}
protected Preference findPreferenceByKey(PreferenceGroup in, String key) {
for (int i = 0; i < in.getPreferenceCount(); i++) {
Preference pref = in.getPreference(i);
if (pref == null) {
// should not happen
Log.v(TAG, "findPreferenceByKey null pref i:" + i);
return null;
} else if (pref.hasKey() && pref.getKey().equals(key)) {
return pref;
} else if (pref instanceof PreferenceGroup) {
// recurse
Preference res = findPreferenceByKey((PreferenceGroup) pref,
key);
if (res != null) {
return res;
}
}
}
return null;
}