it-swarm.com.de

Android: Bearbeiten Sie Text Go Button

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 festlegen, sodass beim Klicken auf die Schaltfläche Fertig/Los auf der Bildschirmtastatur eine Schaltfläche angeklickt wird, oder einfach die von der Schaltfläche ausgeführten Methoden 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!

56
Corey Alexander

Sie möchten eine Kombination von 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 auf die gewünschte Aktion ändern und IME_ACTION_SEND entsprechend aktualisieren.

131
Niall Sheridan

Schauen Sie sich die Attribute setImeActionLabel (oder imeActionLabel und imeActionId) und setOnEditorActionListener an um einen Listener festzulegen, der auf die Ereignisse reagiert.

0
adamp