入力完了時にエンターキーでキーボードを閉じるサンプル
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// activity_main.xml レイアウトの Viewsをbindingに取得する
binding = ActivityMainBinding.inflate(layoutInflater)
// アプリのビュー階層のルート(binding.root)を渡してコンテンツビューの取得
setContentView(binding.root)
// Key押下時のリスナー
binding.costOfServiceEditText.setOnKeyListener {
view, keyCode, _ -> handleKeyEvent(view, keyCode)
}
}
// キーボードを閉じる
private fun handleKeyEvent(view: View, keyCode: Int): Boolean {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
// Hide the keyboard
val inputMethodManager =
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)
return true
}
return false
}
トレーニング > KOTLIN を用いた ANDROID の基本 > レイアウト > ユーザー入力2 > より洗練されたユーザーエクスペリエンスを作成する > 6. ユーザーエクスペリエンスの向上