【Kotlin/Android Studio】キーボードを閉じる方法!InputMethodManager

【Kotlin/Android Studio】キーボードを閉じる方法!InputMethodManager

この記事からわかること

  • Android Studioキーボード閉じる方法
  • ActivityFragment実装する方法
  • InputMethodManagergetSystemServiceメソッドとは?

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

EditTextなどのキーボードを閉じる方法

表示されているキーボードを閉じるにはgetSystemServiceメソッドでInputMethodManagerクラスを取得しhideSoftInputFromWindowメソッドを使用します。

val editText:EditText = findViewById(R.id.edit_text)
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(editText.windowToken, 0)

このコードはActivityに設置した際のコードです。

Fragmentに設置する

Fragmentに設置する場合は以下のように記述可能です。変わっているのはgetSystemServiceメソッドの呼び出しがrequireContextから呼び出されているところです。またhideSoftInputFromWindowの引数にもview?を指定するだけで行けます。

val imm = requireContext().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view?.windowToken, 0)

getSystemServiceメソッドとは?

getSystemServiceメソッドはAndroidアプリ内でSystem Serviceを取得するためのメソッドです。キーボードを閉じる処理だけでなく、アラーム機能の管理やインターネットの接続状況の取得などシステムに関する処理を実行することが可能になっています。

public abstract Object getSystemService(String name);

引数には使用したいシステムの識別文字列を渡します。

公式リファレンス:getSystemServiceメソッド

InputMethodManagerとは?

公式リファレンス:InputMethodManager

InputMethodManagerはソフトウェアキーボードの制御に関連する機能を提供するクラスです。キーボードの表示/非表示やモード(テキストや数値のみなど)、IME(Input Method Editor)の制御などが可能になっています。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index