单击/从列表首选项的键更改项目

On Click/ On change item from a key of a listpreference

我正在尝试对列表首选项数组中已更改的 preference/click 项执行操作。 这是我正在做的事情:

<PreferenceCategory android:title="@string/customization_settings" >

<ListPreference android:key="selected_theme"
    android:entries="@array/themes"
    android:title="@string/themes_title"
    android:summary="@string/themes_summary"
    android:entryValues="@array/themes_values" />
</PreferenceCategory>






 <string-array name="themes">
    <item name="dark">Verde</item>
    <item name="green">Viola</item>
</string-array>
<string-array name="themes_values">
    <item name="dark" translatable="false">0</item>
    <item name="green" translatable="false">1</item>
</string-array>

这是我的列表偏好。
如果用户选择数组条目中的一项,我需要设置一个动作。
我不知道该怎么做。
我搜索了很多,但还没有找到给我解决方案的答案。

请帮助我。

您可以使用以下代码实现 listpreference 的 onClick 事件

ListPreference selected_theme = (ListPreference) getPreferenceManager().findPreference("selected_theme");
selected_theme.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
             return false;
        }
});