在视图上处理onTouchEvent非常简单,因为每个视图都有setOnTouchListener()方法来执行此操作。
唉,虽然ListPreference是一个视图,但它没有在布局XML中定义,因此无法通过findViewById()访问。所以...我似乎没有想出如何为它设置setOnTouchListener()。
我的想法是在PreferenceActivity的onCreate()中获取对它的引用,然后是getDialog()。getCurrentFocus()但是在那个特定的时刻,它没有焦点,甚至没有对话框(getDialog()返回null,确认)。
任何想法如何解决这个问题?
答案 0 :(得分:0)
如果您对所有偏好感兴趣,请使用registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener)
作为共享偏好设置;如果您只想知道某个项目的更改,请使用.setOnPreferenceChangeListener(listener)
。更改首选项时,您将收到通知。