如何只隐藏软键盘android

时间:2013-03-22 11:29:40

标签: android android-softkeyboard activitygroup android-tabactivity

在我的应用程序中,我正在使用标签活动和活动组。在其中一项活动中,我有编辑文本。当用户单击编辑文本时,会出现软键盘。但是当用户单击后退按钮时,软键盘会解除,并且会显示活动堆栈上的上一个活动。

在其他应用程序的早期,当我在屏幕上有软键盘时按下后退按钮时,只有软键盘解除并且它不会返回到之前的活动,除非我再次按下后退按钮。我希望这也发生在我目前的应用程序中。 Plz帮助。

5 个答案:

答案 0 :(得分:1)

在On create Method中使用以下内容。它工作正常。

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

答案 1 :(得分:1)

可以试试这个 -  **

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                                  imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

**

答案 2 :(得分:1)

 InputMethodManager imm = (InputMethodManager) 
              this.getSystemService(Context.INPUT_METHOD_SERVICE);

        if (imm.isAcceptingText()) {

            System.out.println("Software Keyboard was shown");

        } else {

             System.out.println("Software Keyboard is hidden");

             }  

这就是诀窍。我检查了软键盘是否打开它是否保持当前活动,否则它将进入上一个活动。

答案 3 :(得分:0)

<强>码

InputMethodManager imm = (InputMethodManager)getSystemService(
  Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

检查以下链接: -

http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html

答案 4 :(得分:0)

我认为这会对你有帮助

protected void hideSoftKeyboard(EditText input) {
        input.setInputType(0);
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(input.getWindowToken(), 0);

    }