Intereting Posts
Как установить фокус на последний элемент в представлении списка в android Создайте случайный, синус-график, подобный ландшафтному спрайту Можете ли вы попасть в командную строку на телефоне G1? Как Google достигает анимированных сообщений в своем приложении G +? Android Studio – Keystore был взломан, или пароль был неверным после обновления до версии 2.1.2 Как я могу доставить параметры к тестовой функции, которая запускается с помощью команды adb shell am Instrumentation Может использовать только младшие 16 бит для requestCode (сервисы Google Play) Как записывать аудио / голос в фоновом режиме непрерывно в Android? Как мы можем реализовать привязку данных для кнопки Switch для события onCheckedChageListener? Внедрение пользовательского вида внутри WebView Что такое фильтр намерений, который будет показывать только приложение в общем меню при совместном использовании URL-адреса? SQLite или сериализация Переключатели активности / фрагментов совместимы с устройствами до Lollipop? Реализация DLNA / UPnP (Win7 Play To) на мобильном устройстве PhoneGap + JQuery Mobile + Google Maps v3: на карте отображаются верхние левые фрагменты?

Edittext.settext () изменяет тип клавиатуры по умолчанию

У меня есть код для моего форматирования edittext, так как он может принимать любой ввод. Я не задаю ни одного типа ввода:

if (cardNumberEditText != null) { cardNumberEditText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { int currSel = cardNumberEditText.getSelectionStart(); cardNumberEditText.removeTextChangedListener(textWatcher); . . cardNumberEditText.setText(formattedNumber); . . cardNumberEditText.setSelection(currSel); cardNumberEditText.addTextChangedListener(textWatcher); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); } 

Поэтому изначально я получаю тип ввода по умолчанию, который является ABC, теперь, когда я меняю его на? 123 (используя кнопку ABC / 123? Toggel), и после ввода некоторого номера клавиатура возвращается на ABC. Этот кодовый шов отлично работает на устройствах sam3 s3 и sywpe, но не на Nexus с L и HTC одним

Когда я комментирую весь код внутри onTextChanged, он отлично работает. Поэтому, когда я исследовал, я узнал, что виновником является cardNumberEditText.setText (formattedNumber);

Я не устанавливаю тип ввода, я просто использую ключ переключения ABC /? 123 на клавиатуре для переключения

Любая помощь / предложение, почему это происходит (на нескольких устройствах) и как я могу его исправить?

Solutions Collecting From Web of "Edittext.settext () изменяет тип клавиатуры по умолчанию"

Finnaly получил его работу, пришлось объединить несколько решений, упомянутых в комментариях выше

Поскольку виновный был установленным текстом, я нашел замену для него – добавьте

Но для использования append мне пришлось очистить edittext без использования settext, эта ссылка на спасение

Поэтому заменен

 cardNumberEditText.setText(formattedNumber); 

с

 cardNumberEditText.getText().clear(); cardNumberEditText.append(formattedNumber); 

Теперь работает как шарм