-1

私のアプリケーションでは、タブアクティビティとアクティビティグループを使用しています。アクティビティの1つで、テキストを編集しています。ユーザーが編集テキストをクリックすると、ソフトキーボードが表示されます。ただし、ユーザーが戻るボタンをクリックすると、ソフトキーボードが閉じ、アクティビティスタックの前のアクティビティが表示されます。

以前の他のアプリケーションで、画面にソフトキーボードがあるときに戻るボタンを押すと、ソフトキーボードのみが閉じられ、戻るボタンをもう一度押さない限り、前のアクティビティに戻ることはありません。これを現在のアプリケーションでも実行したいと思います。Plzヘルプ。

4

5 に答える 5

1

Oncreateメソッドで以下を使用します。正常に動作しています。

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
于 2013-03-22T11:32:09.167 に答える
1

これを試すことができます-**

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

****

于 2013-03-22T11:48:05.677 に答える
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");

             }  

これでうまくいきます。ソフトキーボードが開いているかどうかを確認しました。開いている場合は現在のアクティビティのままです。開いていない場合は前のアクティビティに進みます。

于 2013-03-23T06:53:23.587 に答える
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

于 2013-03-22T11:38:08.310 に答える
0

これはあなたを助けると思います

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

    }
于 2013-03-22T11:54:12.363 に答える