Android: Text bearbeiten Go-Schaltfläche

Lesezeit: 1 Minute

Ich habe einen Bearbeitungstext, der wie folgt definiert ist.

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text" 
android:hint="@string/field_text"
android:id="@+id/field"
/>

Ich möchte einen benutzerdefinierten Befehl so einstellen, dass, wenn jemand auf die Schaltfläche „Fertig/Los“ auf der Bildschirmtastatur klickt, eine Schaltfläche angeklickt wird oder einfach die Methoden ausgeführt werden, die von der Schaltfläche ausgeführt werden. Ich denke, das hat etwas mit den Optionen zu tun, aber ich konnte nicht herausfinden, wie sie funktionieren. Vielen Dank im Voraus für jede Hilfe!

Benutzer-Avatar
Niall Sheridan

Sie möchten eine Kombination aus android:imeOptions und setOnEditorActionListener

<EditText android:id="@+id/some_edittext"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:imeOptions="actionSend">
</EditText>


some_edittext.setOnEditorActionListener(new OnEditorActionListener() {
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEND) {
            some_button.performClick();
            return true;
        }
        return false;
    }
});

Natürlich sollten Sie actionSend in die gewünschte Aktion ändern und IME_ACTION_SEND entsprechend aktualisieren.

  • Ich wollte dieser Antwort nur nachgehen und erwähnen, dass dies nicht unbedingt auf allen Geräten funktioniert. Zum Beispiel habe ich meinen OnKeyListener-Code geändert, um OnEditorActionListener in meiner App zu verwenden, und plötzlich hörte mein HTC Evo auf, die Aktion auszuführen. Weitere Informationen finden Sie hier: stackoverflow.com/questions/3886677/imeoptions-on-htc-devices

    – Dan

    13. Mai 2011 um 20:32 Uhr

  • Aber mit diesem Beispiel können Sie keinen mehrzeiligen Editext erstellen. Wie ein Chat-Text wird in diesem u hinzugefügter Text nicht automatisch umgebrochen.

    – Zala Janaksinh

    1. Januar 2014 um 4:50 Uhr

Werfen Sie einen Blick auf die setImeActionLabel Methode (bzw imeActionLabel und imeActionId Attribute) und setOnEditorActionListener um einen Listener einzurichten, der auf die Ereignisse reagiert.

1187460cookie-checkAndroid: Text bearbeiten Go-Schaltfläche

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy