このコード行を使用して、ソフト キーボードを非表示にしました。古い API レベルでエラーが発生しますか? API レベル 11 ~ 17 をターゲットにしています。または、デバイスにソフト キーボードがない場合、エラーが発生しますか?
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
このコード行を使用して、ソフト キーボードを非表示にしました。古い API レベルでエラーが発生しますか? API レベル 11 ~ 17 をターゲットにしています。または、デバイスにソフト キーボードがない場合、エラーが発生しますか?
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
// try this
try {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus()
.getWindowToken(), 0);
} catch (Exception e) {
e.printStackTrace();
}
古い API レベルでエラーが発生しますか?
この質問に答えるには、クラスとメソッド呼び出しのドキュメントを読む必要があります。以下のスクリーンショットに示すように、各クラスとメソッドは、導入された API レベルを示します。
メソッド呼び出しごとに:
getWindow()
API レベル 1 で導入されましたsetSoftInputMode()
API レベル 3 で導入されましたWindowManager
LayoutParams
APIレベル1で導入されましたSOFT_INPUT_STATE_ALWAYS_HIDDEN
API レベル 3 で導入されましたいいえ、API レベル 11 から 17 までのデバイスの Android バージョンが原因で、コードによってエラーが発生することはありません。
または、デバイスにソフト キーボードがない場合、エラーが発生しますか?
ソフト キーボードのないデバイスは聞いたことがありませんが、ソフト キーボードがない場合、設定した値は単に無視されると思います。