Forráskód Böngészése

Input dialog places cursor at the end of prefilled text, resolves #454

Aidan Follestad 10 éve
szülő
commit
3023d1d0ed

+ 1 - 1
library/src/main/java/com/afollestad/materialdialogs/DialogInit.java

@@ -368,7 +368,7 @@ class DialogInit {
         if (dialog.input == null) return;
         dialog.setTypeface(dialog.input, builder.regularFont);
         if (builder.inputPrefill != null)
-            dialog.input.append(builder.inputPrefill);
+            dialog.input.setText(builder.inputPrefill);
         if (builder.inputType != -1)
             dialog.input.setInputType(builder.inputType);
         if (builder.alwaysCallInputCallback) {

+ 4 - 1
library/src/main/java/com/afollestad/materialdialogs/MaterialDialog.java

@@ -1332,8 +1332,11 @@ public class MaterialDialog extends DialogBase implements
     @Override
     public final void onShow(DialogInterface dialog) {
         super.onShow(dialog);
-        if (input != null)
+        if (input != null) {
             DialogUtils.showKeyboard(this, mBuilder);
+            if (input.getText().length() > 0)
+                input.setSelection(input.getText().length());
+        }
     }
 
     @Override

+ 1 - 1
library/src/main/java/com/afollestad/materialdialogs/prefs/MaterialEditTextPreference.java

@@ -59,7 +59,7 @@ public class MaterialEditTextPreference extends EditTextPreference {
     protected void onBindDialogView(@NonNull View view) {
         getEditText().setText("");
         if (getText() != null)
-            getEditText().append(getText());
+            getEditText().setText(getText());
         ViewParent oldParent = getEditText().getParent();
         if (oldParent != view) {
             if (oldParent != null)