Por que definir imeActionId com um recurso de ID predefinido cria um erro?

Cyril Mottier tem um ótimo post sobre como personalizar a tecla Enviar / Concluído / Retornar no teclado virtual Android. Ao experimentar o código, eu (e vários outros nos comentários) notamos que definir o imeActionId com um novo ID em XML (por exemplo, @ + id / ...) retorna um 0 ao OnEditorActionListener, quando a tecla é pressionada pela tecla usuário, não o ID exclusivo. No entanto, se você definir um ID em ids.xml e definir imeActionId como esse (por exemplo, w / @id / ...), ocorrerá um erro de inflação do layout.

A única maneira de conseguir definir com êxito o imeActionId para um ID exclusivo era configurá-lo programaticamente em Java. Então, qual é o uso correto do atributo XML imeActionId?

Aqui está um Gist com todo o meu código:https://gist.github.com/gsysko/d46adbe27d409bde0299

Obrigado por considerar esta pergunta.

questionAnswers(1)

yourAnswerToTheQuestion