0

我在我的应用程序中使用偏好概念(listpreference)。当我从列表中选择特定选项时,我想做一些事情所以请告诉我这怎么可能?

4

3 回答 3

2
    startDatePref = findPreference("time");

...

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

        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }
于 2010-11-04T19:43:20.997 回答
0

让您的偏好活动实现 onPreferenceChangeListener ,然后您需要通过 onCreate 中的键找到偏好并注册侦听器。

于 2010-07-31T19:43:19.030 回答
0

看看那个帖子

要从代码中读取这些首选项,我们应该创建一个 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", "");
        }
于 2010-07-31T09:05:47.467 回答