如果我禁用使用setEnabled(false)
开关,则 (1) 设置为关闭并且 (2) 我没有得到OnClickListener
启动对话框的响应。
编辑:在这种情况下,我不希望开关自动从打开切换到关闭。
有没有人处理过这个问题?
如果我禁用使用setEnabled(false)
开关,则 (1) 设置为关闭并且 (2) 我没有得到OnClickListener
启动对话框的响应。
编辑:在这种情况下,我不希望开关自动从打开切换到关闭。
有没有人处理过这个问题?
解决方案是setChecked(true)
在回调内部使用,OnPreferenceClickListener
然后启动对话框。
OnPreferenceChangeListener
注意:这在回调内部不起作用。
对于那些想要代码的人:
if (!BuildConfig.FULL_VERSION) {
SwitchPreferenceCompat preference = (SwitchPreferenceCompat) findPreference(getString(R.string.pref_notifications_service_key));
preference.setDefaultValue(false);
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
((SwitchPreferenceCompat) preference).setChecked(false);
new ProFeatureDialogFragment().show(getFragmentManager(), "PRO_FEATURE_TAG");
return false;
}
});
}