0

我正在使用 sharedPreference 编写应用程序,并且我想display the selected item of list显示。

我正在使用以下代码:

 refresh.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference,
                    Object newValue) {
                Toast.makeText(getBaseContext(),
                        "list preference:"+newValue.toString(),
                        Toast.LENGTH_SHORT).show();
                refresh.setSummary(refresh.getEntry());
                return true;
            }
        });

但问题是,我无法显示当前选定的列表项。取而代之的是,我收到了上一个选定的列表项。

我不知道我使用的那个是否正确。

有没有其他的显示方式?

谁能帮我?

4

1 回答 1

0

尝试使用preference.getSummary()而不是newValue.toString()

refresh.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference,
                Object newValue) {
            Toast.makeText(getBaseContext(),
                    "list preference:"+preferences.getString("preference_key"),
                    Toast.LENGTH_SHORT).show();
            refresh.setSummary(preferences.getString("preference_key"));
            return true;
        }
    });
于 2013-04-03T14:23:14.737 回答