Android 从列表中选择选项时要执行的操作(listpreference)

Android 从列表中选择选项时要执行的操作(listpreference),android,events,listpreference,Android,Events,Listpreference,我在应用程序中使用偏好概念(listpreference)。 当我从列表中选择特定选项时,我想做一些事情 请告诉我这是怎么可能的?看看: 要从代码中读取这些首选项, 我们应该创建一个getPrefs()方法, 我们可以在onStart()中调用它 方法。当我们在 onStart()方法,而不是 onCreate(),我们可以确保 当我们设置了首选项时,将加载它们 回到我们的主要活动 让您的首选项活动实现onPreferenceChangeListener,然后您需要在onCreate中通过其键找

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

看看:

要从代码中读取这些首选项, 我们应该创建一个getPrefs()方法, 我们可以在onStart()中调用它 方法。当我们在 onStart()方法,而不是 onCreate(),我们可以确保 当我们设置了首选项时,将加载它们 回到我们的主要活动


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

谢谢你的回复!其实我的问题不同。我的应用程序有两个选项卡。在第二个选项卡首选项屏幕中出现一个是listpreference。当我从更改背景屏幕的列表中选择任何选项时,我在更改背景图像的首选项屏幕中没有立即生效,当我转到第一个选项卡时,我可以查看更改的屏幕背景,现在当我进入第二个选项卡(首选项屏幕)时然后我得到了效果,我希望在首选屏幕中立即响应更改的背景图像。希望你能得到我需要的。请推荐!
    startDatePref = findPreference("time");

...

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

        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }
    startDatePref = findPreference("time");

...

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

        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }