防止 android 中铃声偏好的默认行为

Prevent default behaviour of ringtonepreference in android

当我单击 ringtonePreference 时,它​​会打开一个对话框,其中包含 ringtones.But 列表 我想在单击首选项而不是默认对话框时打开我的自定义对话框。任何人都可以帮助我提供代码示例。

我的偏好 xml 铃声偏好 -

<RingtonePreference
            android:key="@string/pref_key_sound_for_call"
            android:title="@string/text_title_sound_for_call"
            android:summary="@string/text_summery_sound_for_call" /> 

还有用于打开自定义对话框的 SettingsFragment -

preferenceForCustomSoudCall.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            @Override
            public boolean onPreferenceClick(Preference preference) {
                showInAppPurchaseDialog();
                return true;
            }
        });

But I want to open my custom dialog when click on preference instead of default dialog

那就不要用RingtonePreference了。使用 Preference,并按照问题中的说明注册您的点击处理程序。或者,创建自定义 DialogPreference,而不是自己显示整个对话框。