2016-09-20 40 views
-1

我需要爲嵌套PreferenceScreen中的自定義首選項設置事件偵聽器。如何檢測嵌套的首選項屏幕已加載?

我的自定義首選項是一個特殊的複選框來自動選擇/取消選擇一堆CheckBoxPreferences,但是,如果我嘗試在單擊PreferenceScreen之前設置事件偵聽器並顯示,我無法獲取對複選框的引用我想設置我的點擊偵聽器。

我似乎無法找到一個方法,只有當顯示嵌套的首選項屏幕時才調用它。我試着做.getDialog()並使用它的監聽器,但是我再次得到一個空引用,直到實際顯示嵌套的PreferenceScreen。

+0

爲什麼不發佈.xml文件? – greenapps

回答

0

要獲得任何首選項的值,只需調用getDefaultSharedPreferences()。你不需要回撥。只需加載複選框設置的值。

+0

我不需要這個值,我需要設置一個UI回調,並在與其交互時自動修改其他值。我發現了一個工作,並不需要我知道屏幕刷新的時間。 – Gubatron

0

我發現這個問題的解決方案是在其內部組件被充氣後(在protected View onCreateView(ViewGroup parent)方法中),而不是在設置活動中,因爲我不斷收到空值後,在其源代碼中定義了自定義首選項的UI偵聽器因爲現在爲時尚早,我無法找到一種方法來檢測嵌套的首選項屏幕何時加載。