хотите что-то сделать, когда выбираете опции из списка (listpreference) - PullRequest
0 голосов
/ 31 июля 2010

Я использую концепцию предпочтений (listpreference) в своем приложении. Я хочу сделать что-то, когда я выбираю конкретный вариант из списка Так скажите, пожалуйста, как это возможно?

Ответы [ 3 ]

2 голосов
/ 04 ноября 2010
    startDatePref = findPreference("time");

...

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                                         Preference preference) {
        if (preference == startDatePref) {
            // your action
        }

        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }
0 голосов
/ 31 июля 2010

сделайте так, чтобы ваши предпочтения выполнялись с помощью onPreferenceChangeListener, а затем вам нужно найти предпочтение по его ключу в onCreate и зарегистрировать слушателя.

0 голосов
/ 31 июля 2010

Взгляните на этот пост :

Чтобы прочитать эти настройки из кода, мы должны создать метод getPrefs (), который мы можем вызвать в onStart () метод. Когда мы называем это в метод onStart () вместо onCreate (), мы можем быть уверены, что настройки загружаются, когда мы их установили и вернулся к основному виду деятельности,

private void getPrefs() {
                // Get the xml/preferences.xml preferences
                SharedPreferences prefs = PreferenceManager
                                .getDefaultSharedPreferences(getBaseContext());
                CheckboxPreference = prefs.getBoolean("checkboxPref", true);
                ListPreference = prefs.getString("listPref", "nr1");
                editTextPreference = prefs.getString("editTextPref",
                                "Nothing has been entered");
                ringtonePreference = prefs.getString("ringtonePref",
                                "DEFAULT_RINGTONE_URI");
                secondEditTextPreference = prefs.getString("SecondEditTextPref",
                                "Nothing has been entered");
                // Get the custom preference
                SharedPreferences mySharedPreferences = getSharedPreferences(
                                "myCustomSharedPrefs", Activity.MODE_PRIVATE);
                customPref = mySharedPreferences.getString("myCusomPref", "");
        }
...