#android
#Android
Вопрос:
Я создаю EditText программно, используя эти строки кода:
ContextThemeWrapper mContextThemeWrapper = new ContextThemeWrapper(context, R.style.AppTheme);
EditText mEditText = new EditText(mContextThemeWrapper);
mEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
Клавиатура, которая отображается, когда я фокусируюсь на вводе, выглядит следующим образом:
Однако я не могу выбрать знак «—«. Я пробовал нажимать один, два раза, удерживая, и кнопка всегда вводит «.«.
Есть идеи о том, как ввести знак минус перед моим отрицательным числом?
Редактировать 1 По-видимому, проблема связана с устройством, которое мне нужно использовать. Я использую Samsung Tablet E с Android 4.4.4. Тестирование того же EditText на другом устройстве сработало, как ожидалось, но мне нужно запустить на планшете.
Комментарии:
1. Как вы создали следующую клавиатуру? Я имею в виду, что его стиль отличается от стиля по умолчанию
2. @Marat Я создал его, используя только код, который я добавил к вопросу. Я тестирую на планшете Samsung. Не уверен, что из-за того, что он является планшетом, его расположение немного отличается, поскольку я могу перемещать клавиатуру по экрану для такого ввода чисел. Я впервые разрабатываю приложение специально для планшетов, а не для смартфонов.
3. Вы пытались протестировать на других устройствах и эмуляторе? Потому что я запустил код, который вы ввели в вопрос, и, похоже, он работает нормально.
4. @Marat, я этого не делал, но мне действительно нужно, чтобы он запускался на этом конкретном устройстве для этого клиента. Как вы выбираете знак -? Вы держите его на мгновение? Дважды щелкнуть? Или устройство, на котором вы тестировали клавиатуру, совершенно другое, и такой проблемы нет?
5. К сожалению, у меня нет планшета для тестирования. Но я запускал приложение на разных эмуляторах с разными версиями Android. Я также тестировал на своем Nexus 5x с Android 7.0, и он отлично работал на всех из них. Я бы посоветовал попробовать на любом другом эмуляторе / устройстве, чтобы узнать, связана ли проблема с приложением или самой ОС устройства
Ответ №1:
Кажется, что код, который вы используете, правильный, и доказательством этого является то, что на других устройствах все работает нормально. Поскольку проблема возникает только на одном устройстве, которое вы тестируете, проблема, похоже, не в приложении или коде, а в самом устройстве.
Решение: попробуйте сбросить настройки клавиатуры или очистить кэш / память приложения keyboard, чтобы восстановить заводские настройки по умолчанию.