2016-08-03 72 views
2

根據DialogPreference.java爲什麼DialogPreference.needInputMethod()隱藏?

返回偏好是否需要顯示的對話框 時顯示軟輸入方法。默認爲false。如果他們需要 自動啓用軟輸入法,子類應該覆蓋此方法。

但是,它具有@hide標記,並且在SDK中不可見。儘管如此,DialogPreference仍然被子類實現:

我的問題:

  1. 爲什麼會出現@hide
  2. 如果我正在延伸DialogPreference並且想要顯示軟鍵盤,我應該執行它嗎?
+1

我創建了[this](https://gist.github.com/EmmanuelMess/12ec8216795db5d41bf3a8613700286d)在DialogPreference上使用鍵盤。 – EmmanuelMess

回答

3

作爲一般的經驗法則,隱藏的API不應該被實現。 原因可能是API正在開發中,可能會更改,API僅供內部使用,不穩定等...

在這種情況下,您是對的,EditTextPreference.java類是直接調用這個方法,但你不應該得出這樣的結論,這意味着其他的子類應該做同樣的事情。

事實上,如果你考試系統提交的是添加了此方法的類開發商的消息,您會看到:

變更:1d458570757e607f0dc11fb0e963017916ac0701

總結:顯示在EditTextPreferences自動鍵盤對話

用戶:...

日期:星期二09月15日19時25分51秒CEST200 9

因此,看來這種方法打算使用由EditTextPreferences而不是別人。