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

How can I launch a DialogFragment from clicking a preference item?

在我的 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>

我有一个 PreferenceFragment:

public class PrefFragment extends PreferenceFragment  {

    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }

}

我想将一个项目添加到类别中,如果您单击它,它会调用 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 的默认首选项页面(新建 -> Activity -> 设置 Activity)- 非常简洁但不太简单。