From e737915b3c7d7b428208a710e0d7f867ef66162c Mon Sep 17 00:00:00 2001 From: Tom Spencer Date: Wed, 6 Oct 2021 12:44:47 +0100 Subject: [PATCH] [Android] Hide keyboard when view is destroyed Fixes #7008 --- .../viewcontrollers/viewcontroller/ViewController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java index 6f8f206d94a..7d6e019baea 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java @@ -1,11 +1,13 @@ package com.reactnativenavigation.viewcontrollers.viewcontroller; import android.app.Activity; +import android.content.Context; import android.content.res.Configuration; import android.view.View; import android.view.ViewGroup; import android.view.ViewManager; import android.view.ViewTreeObserver; +import android.view.inputmethod.InputMethodManager; import androidx.annotation.CallSuper; import androidx.annotation.CheckResult; @@ -284,6 +286,8 @@ public void destroy() { ((Destroyable) view).destroy(); } if (view != null) { + InputMethodManager imm = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(view.getWindowToken(), 0); view.getViewTreeObserver().removeOnGlobalLayoutListener(this); view.setOnHierarchyChangeListener(null); if (view.getParent() instanceof ViewGroup) {