1

ユーザーがキーボードの「完了」を押したときにフォーカスをEditText失い、キーボードを非表示にする必要があります。私のコードは次のようになります:

etFromCustom.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            ((LinearLayout) findViewById(R.id.linlay_dummy)).requestFocus(); //this is what I have to do - send focus to a dummy layout
            return true;
        }               
        return false;
    }
}); 

デフォルトでは、キーボードの「完了」キーがソフトウェアキーボードを非表示にしていることは知っていますが、上書きしたため、もう機能しません。EditTextキーボードはフォーカスを失いますが、キーボードは消えるのではなく、数字の 1 から変わります。 1QW1に。

4

2 に答える 2

1

これを試して、

このコードを xml に追加します。EditTextあなたのxmlファイルで特に。

android:imeOptions="actionDone"
于 2013-02-11T10:19:25.823 に答える
0

次のコードを試してください

作成アクティビティに入れる

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



DoneButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            try {
            //  yourEditTextView.setText("");

                imm.hideSoftInputFromWindow(
                        searchEditTextView.getWindowToken(), 0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
于 2013-02-11T10:20:37.003 に答える