android.preference.PreferenceGroup#getPreference ( )源码实例Demo

下面列出了android.preference.PreferenceGroup#getPreference ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: NoiseCapture   文件: SettingsFragment.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    PreferenceScreen preferenceScreen = getPreferenceScreen();
    SharedPreferenceListener sharedPreferenceListener = new SharedPreferenceListener();
    for(int idPreference = 0; idPreference < preferenceScreen.getPreferenceCount(); idPreference++) {
        Preference preference = preferenceScreen.getPreference(idPreference);
        if(preference instanceof PreferenceGroup) {
            PreferenceGroup preferenceGroup = (PreferenceGroup)preference;
            for(int IdGroupReference = 0; IdGroupReference < preferenceGroup.getPreferenceCount(); IdGroupReference++) {
                preference = preferenceGroup.getPreference(IdGroupReference);
                preference.setOnPreferenceChangeListener(sharedPreferenceListener);
            }
        } else {
            preference.setOnPreferenceChangeListener(sharedPreferenceListener);
        }
    }
}
 
private void initGatewayEditTextPreference(Preference preference) {
    if (preference instanceof PreferenceGroup) {
        PreferenceGroup preferenceGroup = (PreferenceGroup) preference;
        for (int i=0; i<preferenceGroup.getPreferenceCount(); i++) {
            if (preferenceGroup.getPreference(i).getTitle().equals("Gateway")) {
                PreferenceCategory preferenceCategory = (PreferenceCategory) preferenceGroup.getPreference(i);
                initGatewayEditTextPreference(preferenceCategory.getPreference(0));
            } else {
                initGatewayEditTextPreference(preferenceGroup.getPreference(i));
            }
        }
    } else if (preference instanceof EditTextPreference) {
        // TODO wrong ClassCastException ?!?!
        gatewayEditTextPreference = (GatewayEditTextPreference) preference;
    }
}
 
源代码3 项目: android-port   文件: FragmentSettings.java
@Override
public void onResume() {
    super.onResume();
    for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); ++i) {
        Preference preference = getPreferenceScreen().getPreference(i);
        if (preference instanceof PreferenceGroup) {
            PreferenceGroup preferenceGroup = (PreferenceGroup) preference;
            for (int j = 0; j < preferenceGroup.getPreferenceCount(); ++j) {
                Preference singlePref = preferenceGroup.getPreference(j);
                updatePreference(singlePref, singlePref.getKey());
            }
        } else {
            updatePreference(preference, preference.getKey());
        }
    }
}
 
源代码4 项目: Dashchan   文件: BasePreferenceFragment.java
private static PreferenceGroup getParentGroup(PreferenceGroup preferenceGroup, Preference preference) {
	for (int i = 0; i < preferenceGroup.getPreferenceCount(); i++) {
		Preference childPreference = preferenceGroup.getPreference(i);
		if (childPreference == preference) {
			return preferenceGroup;
		}
		if (childPreference instanceof PreferenceGroup) {
			PreferenceGroup foundPreferenceGroup = getParentGroup((PreferenceGroup) childPreference,
					preference);
			if (foundPreferenceGroup != null) {
				return foundPreferenceGroup;
			}
		}
	}
	return null;
}
 
@SuppressWarnings("deprecation")
public static Map<Preference, PreferenceGroup> buildPreferenceParentTree(final android.preference.PreferenceActivity activity) {
    final Map<Preference, PreferenceGroup> result = new HashMap<>();
    final Stack<PreferenceGroup> curParents = new Stack<>();
    curParents.add(activity.getPreferenceScreen());
    while (!curParents.isEmpty()) {
        final PreferenceGroup parent = curParents.pop();
        final int childCount = parent.getPreferenceCount();
        for (int i = 0; i < childCount; ++i) {
            final Preference child = parent.getPreference(i);
            result.put(child, parent);
            if (child instanceof PreferenceGroup)
                curParents.push((PreferenceGroup) child);
        }
    }
    return result;
}
 
private InputMethodSubtype[] getSubtypes() {
    final PreferenceGroup group = getPreferenceScreen();
    final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>();
    final int count = group.getPreferenceCount();
    for (int i = 0; i < count; i++) {
        final Preference pref = group.getPreference(i);
        if (pref instanceof CustomInputStylePreference) {
            final CustomInputStylePreference subtypePref = (CustomInputStylePreference)pref;
            // We should not save newly adding subtype to preference because it is incomplete.
            if (subtypePref.isIncomplete()) continue;
            subtypes.add(subtypePref.getSubtype());
        }
    }
    return subtypes.toArray(new InputMethodSubtype[subtypes.size()]);
}
 
private InputMethodSubtype[] getSubtypes() {
    final PreferenceGroup group = getPreferenceScreen();
    final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>();
    final int count = group.getPreferenceCount();
    for (int i = 0; i < count; i++) {
        final Preference pref = group.getPreference(i);
        if (pref instanceof CustomInputStylePreference) {
            final CustomInputStylePreference subtypePref = (CustomInputStylePreference)pref;
            // We should not save newly adding subtype to preference because it is incomplete.
            if (subtypePref.isIncomplete()) continue;
            subtypes.add(subtypePref.getSubtype());
        }
    }
    return subtypes.toArray(new InputMethodSubtype[subtypes.size()]);
}
 
源代码8 项目: HeadsUp   文件: ConfigBase.java
private boolean removePreference(@NonNull PreferenceGroup pg,
                                 @NonNull Preference preference) {
    for (int i = pg.getPreferenceCount() - 1; i >= 0; i--) {
        Preference child = pg.getPreference(i);
        if (child == preference) {
            pg.removePreference(preference);
            return true;
        } else if (child instanceof PreferenceGroup) {
            if (removePreference((PreferenceGroup) child, preference)) return true;
        }
    }
    return false;
}
 
源代码9 项目: Camera2   文件: CameraSettingsActivity.java
/**
 * Recursively traverses the tree from the given group as the route and
 * tries to delete the preference. Traversal stops once the preference
 * was found and removed.
 */
private boolean recursiveDelete(PreferenceGroup group, Preference preference)
{
    if (group == null)
    {
        Log.d(TAG, "attempting to delete from null preference group");
        return false;
    }
    if (preference == null)
    {
        Log.d(TAG, "attempting to delete null preference");
        return false;
    }
    if (group.removePreference(preference))
    {
        // Removal was successful.
        return true;
    }

    for (int i = 0; i < group.getPreferenceCount(); ++i)
    {
        Preference pref = group.getPreference(i);
        if (pref instanceof PreferenceGroup)
        {
            if (recursiveDelete((PreferenceGroup) pref, preference))
            {
                return true;
            }
        }
    }
    return false;
}
 
private InputMethodSubtype[] getSubtypes() {
    final PreferenceGroup group = getPreferenceScreen();
    final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>();
    final int count = group.getPreferenceCount();
    for (int i = 0; i < count; i++) {
        final Preference pref = group.getPreference(i);
        if (pref instanceof CustomInputStylePreference) {
            final CustomInputStylePreference subtypePref = (CustomInputStylePreference)pref;
            // We should not save newly adding subtype to preference because it is incomplete.
            if (subtypePref.isIncomplete()) continue;
            subtypes.add(subtypePref.getSubtype());
        }
    }
    return subtypes.toArray(new InputMethodSubtype[subtypes.size()]);
}
 
private InputMethodSubtype[] getSubtypes() {
    final PreferenceGroup group = getPreferenceScreen();
    final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>();
    final int count = group.getPreferenceCount();
    for (int i = 0; i < count; i++) {
        final Preference pref = group.getPreference(i);
        if (pref instanceof CustomInputStylePreference) {
            final CustomInputStylePreference subtypePref = (CustomInputStylePreference)pref;
            // We should not save newly adding subtype to preference because it is incomplete.
            if (subtypePref.isIncomplete()) continue;
            subtypes.add(subtypePref.getSubtype());
        }
    }
    return subtypes.toArray(new InputMethodSubtype[subtypes.size()]);
}
 
private InputMethodSubtype[] getSubtypes() {
    final PreferenceGroup group = getPreferenceScreen();
    final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>();
    final int count = group.getPreferenceCount();
    for (int i = 0; i < count; i++) {
        final Preference pref = group.getPreference(i);
        if (pref instanceof CustomInputStylePreference) {
            final CustomInputStylePreference subtypePref = (CustomInputStylePreference)pref;
            // We should not save newly adding subtype to preference because it is incomplete.
            if (subtypePref.isIncomplete()) continue;
            subtypes.add(subtypePref.getSubtype());
        }
    }
    return subtypes.toArray(new InputMethodSubtype[subtypes.size()]);
}
 
private void mapping(PreferenceGroup group) {
        for (int i = 0; i < group.getPreferenceCount(); i++) {
            Preference preference = group.getPreference(i);
            if (preference instanceof PreferenceGroup) {
                mapping((PreferenceGroup) preference);
            } else {
                preference.setOnPreferenceChangeListener(this);
//                if (preference instanceof ListPreference) {
//                    preference.setSummary(((ListPreference) preference).getEntry());
//                }
            }
        }
    }
 
源代码14 项目: xDrip   文件: Preferences.java
public static List<Preference> getAllPreferences(final PreferenceGroup parent) {
    final int preferenceCount = parent.getPreferenceCount();
    final List<Preference> results = new ArrayList<>(preferenceCount);
    for (int i = 0; i < preferenceCount; i++) {
        final Preference preference = parent.getPreference(i);
        results.add(preference);
        if (preference instanceof PreferenceGroup) {
            // recurse
            results.addAll(getAllPreferences((PreferenceGroup)preference));
        }
    }
    return results;
}
 
源代码15 项目: xDrip   文件: Preferences.java
private static void recursive_notify_all_preference_screens(PreferenceGroup preferenceGroup) {
    if (preferenceGroup instanceof PreferenceScreen) {
        ((BaseAdapter) ((PreferenceScreen) preferenceGroup).getRootAdapter()).notifyDataSetChanged();
    } else {
        for (int index = 0; index < preferenceGroup.getPreferenceCount(); index++) {
            final Preference pref = preferenceGroup.getPreference(index);
            if (pref instanceof PreferenceGroup) {
                recursive_notify_all_preference_screens((PreferenceGroup) pref);
            }
        }
    }
}
 
源代码16 项目: xDrip-plus   文件: Preferences.java
public static List<Preference> getAllPreferences(final PreferenceGroup parent) {
    final int preferenceCount = parent.getPreferenceCount();
    final List<Preference> results = new ArrayList<>(preferenceCount);
    for (int i = 0; i < preferenceCount; i++) {
        final Preference preference = parent.getPreference(i);
        results.add(preference);
        if (preference instanceof PreferenceGroup) {
            // recurse
            results.addAll(getAllPreferences((PreferenceGroup)preference));
        }
    }
    return results;
}
 
源代码17 项目: busybox   文件: SettingsActivity.java
/**
 * Recursive set summaries
 *
 * @param pg group
 */
private void initSummaries(PreferenceGroup pg) {
    for (int i = 0; i < pg.getPreferenceCount(); ++i) {
        Preference p = pg.getPreference(i);
        if (p instanceof PreferenceGroup)
            initSummaries((PreferenceGroup) p);
        else
            setSummary(p, false);
        if (p instanceof PreferenceScreen)
            p.setOnPreferenceClickListener(this);
    }
}
 
源代码18 项目: Document-Scanner   文件: SettingsFragment.java
public void updatePreferenceScreen(PreferenceScreen screen) {
    for (int i = 0; i < screen.getPreferenceCount(); ++i) {
        Preference preference = screen.getPreference(i);
        if (preference instanceof PreferenceGroup) {
            PreferenceGroup preferenceGroup = (PreferenceGroup) preference;
            for (int j = 0; j < preferenceGroup.getPreferenceCount(); ++j) {
                Preference singlePref = preferenceGroup.getPreference(j);
                updatePreference(singlePref, singlePref.getKey());
            }
        } else {
            updatePreference(preference, preference.getKey());
        }
    }
}
 
源代码19 项目: island   文件: SettingsActivity.java
protected static boolean removeLeafPreference(final PreferenceGroup root, final Preference preference) {
	if (root.removePreference(preference)) return true;
	for (int i = 0; i < root.getPreferenceCount(); i ++) {
		final Preference child = root.getPreference(i);
		if (child instanceof PreferenceGroup && removeLeafPreference((PreferenceGroup) child, preference)) return true;
	}
	return false;
}
 
源代码20 项目: wshell   文件: SettingsActivity.java
private void initSummaries(PreferenceGroup pg) {
	for (int i = 0; i < pg.getPreferenceCount(); ++i) {
		Preference p = pg.getPreference(i);
		if (p instanceof PreferenceGroup)
			this.initSummaries((PreferenceGroup) p);
		else
			this.setSummary(p, false);
	}
}