diff options
Diffstat (limited to 'main/src/cgeo/geocaching/activity/Keyboard.java')
| -rw-r--r-- | main/src/cgeo/geocaching/activity/Keyboard.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/activity/Keyboard.java b/main/src/cgeo/geocaching/activity/Keyboard.java new file mode 100644 index 0000000..9bae7be --- /dev/null +++ b/main/src/cgeo/geocaching/activity/Keyboard.java @@ -0,0 +1,40 @@ +package cgeo.geocaching.activity; + +import org.eclipse.jdt.annotation.NonNull; + +import android.app.Activity; +import android.content.Context; +import android.view.View; +import android.view.inputmethod.InputMethodManager; + +/** + * Class for hiding/showing the soft keyboard on Android. + * + */ +public class Keyboard { + private final Activity activity; + + public Keyboard(final @NonNull Activity activity) { + this.activity = activity; + } + + public void hide() { + ((InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0); + } + + public void show(final View view) { + view.requestFocus(); + ((InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(view, 0); + } + + public void showDelayed(final View view) { + view.postDelayed(new Runnable() { + + @Override + public void run() { + final InputMethodManager keyboard = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); + keyboard.showSoftInput(view, 0); + } + }, 50); + } +} |
