【Android,Kotlin】Navigation Componentで画面遷移時にキーボードを閉じる
画面遷移時にキーボードを閉じる NavController#addOnDestinationChangedListenerで画面遷移時にフックしてキーボードを閉じる。
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { ... val navController = findNavController(R.id.nav_host_fragment_content_main) appBarConfiguration = AppBarConfiguration(navController.graph) setupActionBarWithNavController(navController, appBarConfiguration) navController.addOnDestinationChangedListener { _, _, _ -> currentFocus?.also { view -> val manager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager manager.hideSoftInputFromWindow(view.windowToken, 0) } } } } getSystemService(Context.INPUT_METHOD_SERVICE)でInputMethodManagerを取得し、hideSoftInputFromWindowを呼び出してキーボードを閉じる。