From 02658588df0da70813a1e8ca5fa45b124685c3e1 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Sun, 31 Mar 2013 03:20:11 +0530 Subject: [PATCH] Dismiss keyboard between title & categorization fragment The keyboard stays on, but the keys go to the wrong window --- .../commons/MultipleUploadListFragment.java | 2 +- .../org/wikimedia/commons/SingleUploadFragment.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java b/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java index 3792a8296..ab409109d 100644 --- a/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/MultipleUploadListFragment.java @@ -83,7 +83,7 @@ public class MultipleUploadListFragment extends SherlockFragment { public void onStop() { super.onStop(); - // FIXME: Stops the keyboard from being shown 'stale' while + // FIXME: Stops the keyboard from being shown 'stale' while moving out of this fragment into the next View target = getView().findFocus(); if (target != null) { InputMethodManager imm = (InputMethodManager) target.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); diff --git a/commons/src/main/java/org/wikimedia/commons/SingleUploadFragment.java b/commons/src/main/java/org/wikimedia/commons/SingleUploadFragment.java index 3823f03b4..cd08e85e6 100644 --- a/commons/src/main/java/org/wikimedia/commons/SingleUploadFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/SingleUploadFragment.java @@ -10,6 +10,7 @@ import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import com.actionbarsherlock.app.SherlockFragment; import com.actionbarsherlock.view.Menu; @@ -79,6 +80,18 @@ public class SingleUploadFragment extends SherlockFragment { uploadActionInitiatedHandler = (OnUploadActionInitiated) activity; } + @Override + public void onStop() { + super.onStop(); + + // FIXME: Stops the keyboard from being shown 'stale' while moving out of this fragment into the next + View target = getView().findFocus(); + if (target != null) { + InputMethodManager imm = (InputMethodManager) target.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(target.getWindowToken(), 0); + } + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);