Android 如何通过单击首选项启动DialogFragment?

Android 如何通过单击首选项启动DialogFragment?,android,sharedpreferences,android-preferences,android-dialogfragment,Android,Sharedpreferences,Android Preferences,Android Dialogfragment,在我的preferences.xml文件中,我有如下内容 <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title = "Random Title" android:key =

在我的preferences.xml文件中,我有如下内容

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
        android:title = "Random Title"
        android:key = "random_category">

    </PreferenceCategory>
</PreferenceScreen>
我想将一个项目添加到类别中,如果您单击它,它将调用SomeFunc()(它将启动一个DialogFragment,从那里我知道如何使用我编写的帮助程序保存首选项值),但我不知道如何仅包括触发此函数的常规可单击首选项。

要添加单击事件

    Preference button = findPreference(preferenceKey);
    button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
        @Override
        public boolean onPreferenceClick(Preference preference) {
            // Do some stuff here
            return true;
        }
    });

同样值得一看Android Studio的默认首选项页面(新建->活动->设置活动)-这是一个很新但不太简单的页面。

让我大吃一惊…+1我尝试过使用默认首选项页面,但我不知道我应该如何使用它。哦,我知道,这是一个有点压倒性的例子,但它展示了重要的设计和功能特性,你只需要花些时间来了解它。
    Preference button = findPreference(preferenceKey);
    button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
        @Override
        public boolean onPreferenceClick(Preference preference) {
            // Do some stuff here
            return true;
        }
    });