2016-08-03 1 views
2

:優先ダイアログ が表示されたときにソフト入力方法を表示する必要があるかどうかDialogPreference.needInputMethod()が隠されているのはなぜですか? <a href="https://github.com/android/platform_frameworks_base/blob/marshmallow-mr2-release/core/java/android/preference/DialogPreference.java#L323" rel="nofollow">DialogPreference.java</a>によれば

返し。デフォルトはfalseです。 ソフト入力メソッドが自動的に呼び出される必要がある場合、サブクラスはこのメソッドをオーバーライドする必要があります。

ただし、@hideタグがあり、SDKでは表示されません。それにも関わらず、DialogPreferenceのサブクラスはまだそれを実装:

私の質問:

  1. なぜ@hideがありますか?
  2. DialogPreferenceを延長していて、ソフトキーボードを表示したい場合は、実装する必要がありますか?
+1

DialogPreferenceでキーボードを使用するために[this](https://gist.github.com/EmmanuelMess/12ec8216795db5d41bf3a8613700286d)を作成しました。 – EmmanuelMess

答えて

3

一般的な経験則として、隠されたAPIは実装されていません。 これは、APIが開発中であり、変更される可能性があり、APIが内部使用のみ、不安定などのためです。

この場合、EditTextPreference.javaクラスは直接ですこのメソッドを呼び出すが、他のサブクラスでも同じことを行うべきであると結論づけてはならない。実際に

、あなたがクラスにこのメソッドを追加した開発者のコ​​ミットメッセージをexamin場合、あなたはそれを参照してください。

チェンジ:1d458570757e607f0dc11fb0e963017916ac0701

要約:EditTextPreferencesで自動的に表示するキーボードダイアログ

ユーザー:...

日:火曜9月15日19時25分五十一秒CEST200 9

だから、この方法は、は、他の人がEditTextPreferencesではなく、使用するを意図しているようです。

関連する問題

 関連する問題