Handling onTouchEvent on a view is straightforward as every view has the setOnTouchListener() method to do just that.
Alas, although ListPreference is a view, it isn
Use registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener)
for the shared preferences, if you are interested in all the preferences, or .setOnPreferenceChangeListener(listener)
if you only want to know the changes on one item. You will be notified when the preference is changed.