如何在ListPreference上设置OnTouchListener()?

时间:2013-06-19 13:09:04

标签: android ontouchevent ontouchlistener preferenceactivity listpreference

在视图上处理onTouchEvent非常简单,因为每个视图都有setOnTouchListener()方法来执行此操作。

唉,虽然ListPreference是一个视图,但它没有在布局XML中定义,因此无法通过findViewById()访问。所以...我似乎没有想出如何为它设置setOnTouchListener()。

我的想法是在PreferenceActivity的onCreate()中获取对它的引用,然后是getDialog()。getCurrentFocus()但是在那个特定的时刻,它没有焦点,甚至没有对话框(getDialog()返回null,确认)。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果您对所有偏好感兴趣,请使用registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener)作为共享偏好设置;如果您只想知道某个项目的更改,请使用.setOnPreferenceChangeListener(listener)。更改首选项时,您将收到通知。