Frage

Ich benötige das Softkeyboard, um die Taste "Done" anzuzeigen, wenn Text in einen EditText in meiner Anwendung eingegeben wird. Auf einem Android 2.1 -Gerät wird die Schaltfläche "Dete" angezeigt, jedoch nicht auf 2.3 oder höher.

Dies ist der Code, den ich verwende:

    e.setImeOptions(EditorInfo.IME_ACTION_DONE);

    e.setOnEditorActionListener(
            new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_SEARCH ||
                            actionId == EditorInfo.IME_ACTION_DONE ||
                            event.getAction() == KeyEvent.ACTION_DOWN &&
                            event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                        Toast.makeText(getBaseContext(), e.getText().toString(), Toast.LENGTH_SHORT).show();

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

                        return true;
                    }
                    return false;
                }
            });

Ich verwende ein Samsung -Gerät mit Android Version 2.3.4.

Screenshort des EditText:

enter image description here

War es hilfreich?

Lösung

Es ist nicht die Schuld der Android -Version, sondern die Verwendung Ihres Geräts. Samsung (und einige von HTC, ich denke) ime ändere den Brief niemals in "fertig" oder "nächstes" oder "Go".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top