是否可以从DialogFragment构建DialogPreference?

mrp*_*pyo 7 android android-preferences

我已经实现了目录选择器DialogFragment,现在我想用它DialogPreference.可能吗?怎么做?

小智 0

对我来说,您到底想做什么并不明显,但我假设您有一个要在“首选项”单击时显示的片段布局。这是它的代码:

首选项.xml

<PreferenceScreen ... >
    ...
    <Preference android:title="Dialog Fragment Displayer"
        android:key="dialog_preference"
        android:selectable="true"/>
    ...
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

PreferenceActivity.java(或您的主要设置控件所在的位置)

final Activity activity = getActivity(); //replace with this if in an Activity
Preference p = findPreference("dialog_preference");
p.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
    @Override
    public boolean OnPreferenceClick(Preference preference) {
        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        View view = activity.getLayoutInflater().inflate(R.layout.your_fragment, null, false);
        builder.setView(view);
        builder.create().show();
    }
});
Run Code Online (Sandbox Code Playgroud)