@@ -386,6 +386,9 @@ public void setText(String text) {
386386 boolean isEmpty = text == null || text .trim ().length () == 0 ;
387387 ignoreNextLocalTextChange = !isEmpty ;
388388 editText .setText (text );
389+ if (!isEmpty ) {
390+ editText .setSelection (text .length ());
391+ }
389392 }
390393
391394 public void setAutoFocus (boolean autoFocus ) {
@@ -588,28 +591,34 @@ private void updateImeOptions() {
588591 if (mReturnKeyType != null ) {
589592 switch (mReturnKeyType ) {
590593 case "go" :
594+ editText .setSingleLine ();
591595 returnKeyFlag = EditorInfo .IME_ACTION_GO ;
592596 break ;
593597 case "next" :
598+ editText .setSingleLine ();
594599 returnKeyFlag = EditorInfo .IME_ACTION_NEXT ;
595600 break ;
596601 case "none" :
602+ editText .setSingleLine (false );
597603 returnKeyFlag = EditorInfo .IME_ACTION_NONE ;
598604 break ;
599605 case "previous" :
606+ editText .setSingleLine ();
600607 returnKeyFlag = EditorInfo .IME_ACTION_PREVIOUS ;
601608 break ;
602609 case "search" :
603- editText .setInputType ( EditorInfo . TYPE_CLASS_TEXT );
610+ editText .setSingleLine ( );
604611 returnKeyFlag = EditorInfo .IME_ACTION_SEARCH ;
605612 break ;
606613 case "send" :
607- editText .setInputType ( EditorInfo . TYPE_CLASS_TEXT );
614+ editText .setSingleLine ( );
608615 returnKeyFlag = EditorInfo .IME_ACTION_SEND ;
609616 break ;
610617 case "done" :
611- editText .setInputType (EditorInfo .TYPE_CLASS_TEXT );
612- returnKeyFlag = EditorInfo .IME_ACTION_DONE ;
618+ editText .setSingleLine ();
619+ break ;
620+ default :
621+ editText .setSingleLine (false );
613622 break ;
614623 }
615624 }
0 commit comments