Warum verursacht das Setzen von imeActionId mit einer vordefinierten ID-Ressource einen Fehler?

Cyril Mottier hat einen großartigen Beitrag zum Anpassen der Sende-, Fertig- und Eingabetaste auf der Android-Tastatur geleistet. Als ich den Code ausprobierte, bemerkte ich (und einige andere in den Kommentaren), dass das Setzen der imeActionId mit einer neuen ID in XML (zB @ + id / ...) eine 0 an den OnEditorActionListener zurückgibt, wenn die Taste gedrückt wird Benutzer, nicht die eindeutige ID. Wenn Sie jedoch eine ID in ids.xml festlegen und imeActionId auf diese ID setzen (z. B. w / @id / ...), wird ein Layout-Inflationsfehler verursacht.

Die einzige Möglichkeit, die imeActionId erfolgreich auf eine eindeutige ID festzulegen, bestand darin, sie programmgesteuert in Java festzulegen. Wie ist die korrekte Verwendung des XML-Attributs imeActionId?

Hier ist ein Gist mit meinem gesamten Code:https://gist.github.com/gsysko/d46adbe27d409bde0299

Vielen Dank, dass Sie sich mit dieser Frage befasst haben.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage