我有一个SwitchPreference
用于使用 Android 4.x 的代码,但是自从我将设备更新到 Android 5.0.1 后它不再有效。
我有一个简单SwitchPreference
的,它在左侧显示一个标题,在右侧显示一个 ON/OFF 开关。
<SwitchPreference
android:key="myPref"
android:selectable="true"
android:title="Title"
android:fragment="com.myApp.DeviceMonitorPrefsActivity"
android:switchTextOn="ON"
android:switchTextOff="OFF"/>
在 PreferenceActivity上,onPreferenceTreeClick()
当我单击此SwitchPreference
控件的标题时,我重写以执行操作(在我的情况下启动设置活动)。
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference)
{
if(preference instanceof SwitchPreference){
// My Action
}
}
在 Android 4.4.4 中,仅当我按下此控件(标题)的左侧时才会执行此操作,但当我更改开关状态时不会执行此操作。
现在使用 Android 5.0.1,即使我更改了开关状态,也会调用 onPreferenceTreeClick(),但我没有找到区分这两种情况的方法。
它是 Android 5.0.1 中的错误还是有办法让这项工作干净利落?