想从列表中选择选项时做某事(listpreference)

时间:2010-07-31 08:51:08

标签: android events listpreference

我在我的应用程序中使用首选项概念(listpreference)。 当我从列表中选择特定选项时,我想做点什么 那么请告诉我怎么可能?

3 个答案:

答案 0 :(得分:2)

    startDatePref = findPreference("time");

...

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

        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }

答案 1 :(得分:0)

看看that post

  

要从代码中读取这些首选项,   我们应该创建一个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", "");
        }

答案 2 :(得分:0)

使您的首选项活动实现onPreferenceChangeListener,然后您需要在onCreate中通过其键找到首选项并注册该侦听器。