下面列出了怎么用android.preference.SwitchPreference的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences sp = getPreferenceManager().getSharedPreferences();
((SwitchPreference)preference).setChecked((boolean) newValue);
boolean isCamera = !((boolean) newValue); // false is camera, true is playback
// -----------------------------------------------------------------
// Effected preference in this fragment
findPreference(resource.getString(R.string.prefKey_CameraResource_ADAS_PlaybackPath)).setEnabled(!isCamera);
findPreference(resource.getString(R.string.prefKey_CameraResource_ADAS_CameraDevices)).setEnabled(isCamera);
// -----------------------------------------------------------------
// Effected preference in other fragment.
// NO.
return false;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.prefs_notifications);
mNotificationManagerCompat = NotificationManagerCompat.from(getActivity());
final SwitchPreference mActionSwitchPref =
(SwitchPreference) findPreference(getString(R.string.key_pref_action));
final SwitchPreference mAvatarSwitchPref =
(SwitchPreference) findPreference(getString(R.string.key_pref_avatar));
Preference mPushNotificationPref =
findPreference(getString(R.string.key_pref_push_notification));
initInLineAction(mActionSwitchPref);
initAvatar(mAvatarSwitchPref);
initPushNotification(mPushNotificationPref);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.pref_general);
final SwitchPreference zeroAmountTx = (SwitchPreference) findPreference("zeroAmountSwitch");
zeroAmountTx.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
Settings.showTransactionsWithZero = !zeroAmountTx.isChecked();
return true;
}
});
Settings.displayAds = false;
}
@Override
public void onCreate(final Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.prefs_screen_correction);
final Context context = getActivity();
final PackageManager pm = context.getPackageManager();
final Preference editPersonalDictionary =
findPreference(Settings.PREF_EDIT_PERSONAL_DICTIONARY);
final Intent editPersonalDictionaryIntent = editPersonalDictionary.getIntent();
final ResolveInfo ri = USE_INTERNAL_PERSONAL_DICTIONARY_SETTINGS ? null
: pm.resolveActivity(
editPersonalDictionaryIntent, PackageManager.MATCH_DEFAULT_ONLY);
if (ri == null) {
overwriteUserDictionaryPreference(editPersonalDictionary);
}
mUseContactsPreference = (SwitchPreference) findPreference(Settings.PREF_KEY_USE_CONTACTS_DICT);
turnOffUseContactsIfNoPermission();
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Use Toolbar instead of ActionBar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Prepare ProgressBar
progressBar = (ProgressBar) findViewById(R.id.progress_spinner);
// Show app icon in Toolbar
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_logo);
PreferenceFragment preferenceFragment = (PreferenceFragment) getFragmentManager().findFragmentById(R.id.frag_settings);
switchAdmin = (SwitchPreference) preferenceFragment.findPreference("pref_key_device_admin_enabled");
switchAdmin.setOnPreferenceChangeListener(switchAdminOnChangeListener);
// Initialize Device Policy Manager service and our receiver class
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
snooperStopperDeviceAdmin = new ComponentName(this, SnooperStopperDeviceAdminReceiver.class);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
Preference pref = findPreference(s);
updatePrefSummary(pref);
if (s.equals(getString(R.string.settings_autoplay_key))) {
boolean isChecked = ((SwitchPreference) pref).isChecked();
final SwitchPreference autoplayPositionPref = (SwitchPreference) findPreference(getString(R.string.settings_autoplay_restart_key));
if (isChecked) {
autoplayPositionPref.setEnabled(true);
} else {
autoplayPositionPref.setEnabled(false);
}
}
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
public void intView(){
preferenceScreen = getPreferenceScreen();
mRingtone = (RingtonePreference) preferenceScreen.findPreference(KEY_RINGTONE);
mFocus = (SwitchPreference) preferenceScreen.findPreference(KEY_FOCUS);
mChangePassWord = (Preference) preferenceScreen.findPreference(KEY_PWD);
mExitLogin = (Preference) preferenceScreen.findPreference(KEY_EXIT);
Uri uri = Uri.parse(SPUtils.get(getActivity(), KEY_RINGTONE, "").toString());
Log.i(TAG, "铃声" + getRingtonName(uri));
if (getRingtonName(uri).equals("未知铃声")){
mRingtone.setSummary("默认铃声");
} else {
mRingtone.setSummary(getRingtonName(uri));
}
mFocus.setChecked(getIsFocus(getActivity()));
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_screen);
colsDetail = (int) SPUtils.get(getActivity(), AppConfig.cols_detail, 0);
RadioPreference cols = (RadioPreference) findPreference(AppConfig.cols_detail);
cols.setSummary("当前显示列数: " + (colsDetail + 1) + "\n图册页加载图片一般较大,同时显示多列对设备性能要求较高,请酌情选择");
EditTextPreference downloadPath = (EditTextPreference) findPreference(getResources().getString(R.string.download_path));
downloadPath.setSummary((String) SPUtils.get(getActivity(), AppConfig.download_path, AppConfig.DOWNLOAD_PATH));
noMedia = new File((String) SPUtils.get(getActivity(), AppConfig.download_path, AppConfig.DOWNLOAD_PATH) + File.separatorChar + ".nomedia");
SwitchPreference noMediaSwitch = (SwitchPreference) findPreference(AppConfig.hide_pic);
if (noMedia.exists())
noMediaSwitch.setChecked(true);
else
noMediaSwitch.setChecked(false);
Fresco.getImagePipelineFactory().getMainFileCache().trimToMinimum();
float size = (float) Fresco.getImagePipelineFactory().getMainFileCache().getSize() / ByteConstants.MB;
cacheSize = (EditTextPreference) findPreference(getResources().getString(R.string.cache_size));
cacheSize.setSummary(String.format("已使用 %.2f MB", size));
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
sharePrefManager = new SharePrefManager(getActivity());
provincialFlowPreference = (SwitchPreference) findPreference(getResources().getString(R.string.key_provincial_traffic_patterns));
nightModePreference = (SwitchPreference) findPreference(getResources().getString(R.string.key_night_mode));
cleanCachePreference = findPreference(getResources().getString(R.string.key_clear_cache));
versionPreference = findPreference(getResources().getString(R.string.key_version));
homepagePreference = findPreference(getResources().getString(R.string.key_homepage));
provincialFlowPreference.setOnPreferenceChangeListener(this);
nightModePreference.setOnPreferenceChangeListener(this);
cleanCachePreference.setOnPreferenceClickListener(this);
versionPreference.setOnPreferenceClickListener(this);
homepagePreference.setOnPreferenceClickListener(this);
// 设置当前版本号
versionPreference.setSummary("V " + AppApplicationUtil.getVersionName(getActivity()));
// 设置缓存大小
cleanCachePreference.setSummary("缓存大小:" + SystemUtil.getTotalCacheSize(getActivity()));
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
boolean hasReminders = accountManager.getAllowReminders(getActivity());
((SwitchPreference) findPreference(AccountManager.KEY_ALLOW_REMINDERS))
.setChecked(hasReminders);
Set<String> reminderDays = accountManager.getReminderDays(getActivity());
MultiSelectListPreference daysPreference =
(MultiSelectListPreference) findPreference(AccountManager.KEY_REMINDER_DAYS);
daysPreference.setValues(reminderDays);
updateReminderDaysSummary(daysPreference, reminderDays);
String notificationSetting = accountManager.getNotificationPreference(getActivity());
ListPreference notificationPref =
(ListPreference) findPreference(AccountManager.KEY_NOTIFICATIONS);
notificationPref.setValue(notificationSetting);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
cacheWithWifi = (SwitchPreference) findPreference("cache_with_wifi");
cacheWithWifi.setOnPreferenceChangeListener(this);
boolean checked = PreferenceManager.getBooleanValue(context, CACHE_KEY, true);
cacheWithWifi.setChecked(checked);
clearVideoCache = findPreference("clear_video_cache");
clearVideoCache.setOnPreferenceClickListener(this);
float videoFileSize = calculateCacheFileSize("video-cache", true);
clearVideoCache.setSummary(String.format(Locale.CHINESE, "%.2fMb", videoFileSize));
clearPhotoCache = findPreference("clear_photo_cache");
clearPhotoCache.setOnPreferenceClickListener(this);
float photoFileSize = calculateCacheFileSize("image_manager_disk_cache", false);
photoFileSize += calculateCacheFileSize("picasso-cache", false);
clearPhotoCache.setSummary(String.format(Locale.CHINESE, "%.2fMb", photoFileSize));
}
private boolean checkNotificationsPermission(Context c, boolean prompt) {
ContentResolver contentResolver = c.getContentResolver();
String enabledNotificationListeners = Settings.Secure.getString(contentResolver, "enabled_notification_listeners");
String packageName = c.getPackageName();
// check to see if the enabledNotificationListeners String contains our package name
if (enabledNotificationListeners == null || !enabledNotificationListeners.contains(packageName)) {
((SwitchPreference) findPreference("notifications_alerts")).setChecked(false);
if (Utils.isAndroidNewerThanL() && prompt) {
Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
checkAndStartActivity(intent);
shouldEnableNotificationsAlerts = true;
} else if (prompt) {
checkAndStartActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
shouldEnableNotificationsAlerts = true;
}
return false;
}
return true;
}
@TargetApi(14)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
/*
* SwitchPreferences calls multiple times the onPreferenceChange() method
* It is due to the bug in SwitchPreference implementation.
* And it's solved in API 21+
*/
//if (C.SDK >= 14) {
if (C.SDK >= 21) {
switchPreference = (SwitchPreference) findPreference("run");
} else {
checkBoxPreference = (CheckBoxPreference) findPreference("run");
}
findPreference("run").setOnPreferenceChangeListener(this);
serviceReceiver = new ServiceReceiver();
sp = new SP(getActivity());
}
private void startOrStopService(final SharedPreferences preferences) {
boolean userDidStart = preferences.getBoolean(PBConstants.PREF_SERVICE_RUNNING, false);
Log.i(LOG_TAG, "PREF_SERVICE_RUNNING = " + userDidStart);
if (userDidStart) {
if (validatePreferences()) {
checkPermissions(PBConstants.PERM_ORIGIN_SERVICE);
} else {
final SwitchPreference switchPreference = (SwitchPreference) findPreference(PBConstants.PREF_SERVICE_RUNNING);
switchPreference.setChecked(false);
}
} else if (isPhotoBackupServiceRunning() && currentService != null) {
Log.i(LOG_TAG, "stop PhotoBackup service");
getActivity().unbindService(serviceConnection);
getActivity().invalidateOptionsMenu();
isBoundToService = false;
currentService.stopSelf();
currentService = null;
updatePreferences();
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final PreferenceManager pm = this.getPreferenceManager();
pm.setSharedPreferencesName(Const.APP_PREFS_NAME);
pm.setSharedPreferencesMode(Context.MODE_PRIVATE);
addPreferencesFromResource(R.xml.prefs_settings);
mPrefs = pm.getSharedPreferences();
pToggleLogin = findPreference(TOGGLE_LOGIN);
pCity = findPreference(CITY);
pCarshareMode = (SwitchPreference) findPreference(CARSHARE_MODE);
// Listeners
pToggleLogin.setOnPreferenceClickListener(this);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
try {
addPreferencesFromResource(R.xml.prefs_input_settings);
} finally {
StrictMode.setThreadPolicy(oldPolicy);
}
settings = new SettingsUtil(getActivity());
onboardingRequest = new OnboardingRequest(getActivity(), ScreenKey.CALIBRATION);
calibrationPref = (SwitchPreference) findPreference(SettingKey.CALIBRATION);
initBooleanPref(SettingKey.STABILIZE);
initBooleanPref(SettingKey.CURSOR_8_WAY);
initBooleanPref(SettingKey.REDUCED_RATE);
initBooleanPref(SettingKey.STAY_CONNECTED);
updateCalibrationPref();
calibrationPref.setOnPreferenceChangeListener(
(p, newVal) -> {
settings.setBoolean(SettingKey.CALIBRATION, false);
onboardingRequest.start(this);
return true;
});
OnboardingController onboardingController = new OnboardingController(getActivity());
Preference onboardingPref = findPreference(ONBOARDING_PREF);
onboardingPref.setEnabled(onboardingController.isAnyComplete());
onboardingPref.setOnPreferenceClickListener(
preference -> {
if (preference.isEnabled()) {
onboardingController.resetAll();
preference.setEnabled(false);
}
return true;
});
}
private void initBooleanPref(@SettingKey final String key) {
final SwitchPreference pref = (SwitchPreference) findPreference(key);
pref.setChecked(settings.getBoolean(key));
pref.setOnPreferenceChangeListener(
(p, newVal) -> {
settings.setBoolean(p.getKey(), ((Boolean) newVal));
return true;
});
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == parent.getCount() - 1) {
showCreateFromSingleColorDialog();
} else if (position == parent.getCount() - 2) {
showCopyFromExistingThemeDialog();
} else if (position == 0) {
SwitchPreference preference = (SwitchPreference) getPreference(position);
preference.setChecked(!preference.isChecked());
} else {
((ColorPickerPreference) getPreference(position)).onPreferenceClick(null);
}
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences sp = getPreferenceManager().getSharedPreferences();
boolean b = (boolean) newValue;
((SwitchPreference)preference).setChecked(b);
// -----------------------------------------------------------------
// Effected preference in this fragment
findPreference(resource.getString(R.string.prefKey_ADAS_LDW_DetectorEnableSpeed)).setEnabled(b);
// -----------------------------------------------------------------
// Effected preference in other fragment.
// NO.
return false;
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences sp = getPreferenceManager().getSharedPreferences();
boolean b = (boolean) newValue;
((SwitchPreference)preference).setChecked(b);
// -----------------------------------------------------------------
// Effected preference in this fragment
findPreference(resource.getString(R.string.prefKey_ADAS_FCW_DetectorMode)).setEnabled(b);
// -----------------------------------------------------------------
// Effected preference in other fragment.
// NO.
return false;
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences sp = getPreferenceManager().getSharedPreferences();
boolean b = (boolean) newValue;
((SwitchPreference)preference).setChecked(b);
// -----------------------------------------------------------------
// Effected preference in this fragment
findPreference(resource.getString(R.string.prefKey_Recoder_VideoRecordPath)).setEnabled(b);
findPreference(resource.getString(R.string.prefKey_Recoder_VideoRecordInterval)).setEnabled(b);
findPreference(resource.getString(R.string.prefKey_Recoder_VideoRecordFPS)).setEnabled(b);
boolean b_vehicleBusRecord = b && sp.getBoolean(resource.getString(R.string.prefKey_VehicleBus_BusStatus), false);
if(b == false) {
//Log.e("ABC", "Listener_VehicleBusRecord set " + b);
//((SwitchPreference)findPreference(resource.getString(R.string.prefKey_Recoder_VehicleBusRecord))).setChecked(b);
SwitchPreference swp = (SwitchPreference)findPreference(resource.getString(R.string.prefKey_Recoder_VehicleBusRecord));
//
swp.getOnPreferenceChangeListener().onPreferenceChange(swp, b);
}
findPreference(resource.getString(R.string.prefKey_Recoder_VehicleBusRecord)).setEnabled(b_vehicleBusRecord);
// -----------------------------------------------------------------
// Effected preference in other fragment.
// NO.
return false;
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences sp = getPreferenceManager().getSharedPreferences();
boolean b = (boolean) newValue;
((SwitchPreference)preference).setChecked(b);
// -----------------------------------------------------------------
// Effected preference in this fragment
findPreference(resource.getString(R.string.prefKey_Recoder_VehicleBusRecordPath)).setEnabled(b);
// -----------------------------------------------------------------
// Effected preference in other fragment.
// NO.
return false;
}
public static void linkSwitch(final SwitchPreference switchPreference, final ArrayList<Pair<Preference, Integer > > ctls) {
Preference.OnPreferenceChangeListener listener = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
boolean b = (boolean) o;
switchPreference.setChecked(b);
for(int i = 0 ; i < ctls.size() ; i++) {
Pair<Preference, Integer> p = ctls.get(i);
switch (p.second) {
case Utils.LINK_DIRECT:
p.first.setEnabled(switchPreference.isChecked());
break;
case Utils.LINK_INVERSE:
p.first.setEnabled(!switchPreference.isChecked());
break;
}
}
return false;
}
};
switchPreference.setOnPreferenceChangeListener(listener);
// process immediately
listener.onPreferenceChange(switchPreference, switchPreference.isChecked());
}
public void initInLineAction(SwitchPreference switchPref) {
switchPref.setChecked(true);
mActionOn = switchPref.isChecked();
switchPref.setOnPreferenceChangeListener(
new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
mActionOn = (Boolean) newValue;
return true;
}
});
}