LAMW jEditText when Done clicked. lazarus / 43-Android ---------------------------------------------------------------------- Robert Gilland · 2019-06-11 04:17 Hi,   I cannot get any event to fire when the[ Done] softkeyboard button is pressed. The demo app isn't firing any event either! I have looked online for a solution but all solutions use the event "OnEditorAction" which is not available in LAMW! https://stackoverflow.com/questions/2004344/how-do-i-handle- imeoptions-done-button-click/5369989#5369989 Android 4.2.2 LAMw 0.8 jdk1.8 grade 4 Also why do I keep getting these warnings from Gradle: Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0. ---------------------------------------------------------------------- jmpessoa · 2019-06-11 06:13 You can get "Done", "Go",  "Next" .... etc.... Handling the "OnEnter" event.... QuoteAlso why do I keep getting these warnings from Gradle: Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0. What Gradle do you have? 4.0 ??? LAMW need 4.4.1 or up.... ---------------------------------------------------------------------- Robert Gilland · 2019-06-11 06:33 The OnEnter event is not fired where "Done" is pressed on the soft keyboard. That is the issue. Upgraded Gradle to 5.4. Gradle not issuing warning now. ---------------------------------------------------------------------- Robert Gilland · 2019-06-11 14:13 Okay I have done my own workaround, I hope it helps someone. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i unit lamwutils; {$mode delphi} interface uses  Classes, SysUtils, Laz_And_Controls, AndroidWidget; type   { TjEditTextController }   TjEditTextController = class(TObject)  private    fEditText : jEditText;    fGetStrEvt : TGetStrProc;    Procedure EditOnChanged(Sender: TObject; txt: string; count: integer);    Procedure EditOnEnter(Sender: TObject);  public    procedure JNIPromptSetup;    constructor Create( pEditText : jEditText; pGetStrEvt : TGetStrProc );  end; implementation { TjEditTextController } constructor TjEditTextController.Create( pEditText: jEditText;  pGetStrEvt: TGetStrProc);begin  inherited Create;  fEditText  := pEditText;  fGetStrEvt := pGetStrEvt;  fEditText.OnChanged := EditOnChanged;  fEditText.OnEnter   := EditOnEnter;end; procedure TjEditTextController.EditOnChanged(Sender: TObject; txt: string;  count: integer);var  lchar : Char;  llen  : Integer;begin  llen := length( txt );  if( llen = 0 )then exit;  lchar := txt[llen];  if( Ord(lchar) = 10 )then    fGetStrEvt( Copy(txt,1,llen-1));end; procedure TjEditTextController.EditOnEnter(Sender: TObject);begin  fGetStrEvt( fEditText.Text );end; procedure TjEditTextController.JNIPromptSetup;begin  fEditText.SetImeOptions(imeFlagNoFullScreen);  fEditText.SetImeOptions(imeActionDone);end;   end. ---------------------------------------------------------------------- Robert Gilland · 2019-06-12 04:56 Another solution I found was to change the devices keyboard.