Как заставить мобильную клавиатуру Android набирать цифры? - PullRequest
2 голосов
/ 24 июня 2010

В частности, как мне заставить его всплывать как экран ввода чисел, но при этом иметь возможность переключаться на буквы? В идеале мне бы хотелось, чтобы он действовал так же, как если бы у нас было свойство xml

<EditText
    ...
    android:inputType="textShortMessage"/>

, но при первом появлении появится экран ввода номера (тот, который вы получаете, нажав «? 123»), а не обычный qwerty. Я пытался сделать, например,

<EditText
    ...
    android:inputType="textShortMessage|number"/>

, но все, что по умолчанию, это экран ввода номера телефона без возможности ввода букв. Есть идеи?

Ответы [ 2 ]

1 голос
/ 18 января 2013

В коде Java используйте:

edittext.setRawInputType(InputType.TYPE_CLASS_NUMBER);
0 голосов
/ 06 декабря 2010

Это обсуждение , кажется, указывает на то, что вы можете использовать:

android:inputType="number"

чтобы достичь того, что вы ищете. Но я думаю, что автор этого решения, возможно, неправильно понял проблему, поскольку я считаю, что «число» будет разрешать (конечно) только цифры, а не буквы. Я не могу проверить это в данный момент, поэтому мне придется размышлять.

В качестве альтернативы вы можете использовать два EditTexts для ввода: один EditText строго числовой, а другой простой текст, чтобы вы могли ввести количество в первом поле и единицу во втором поле. Я предполагаю, что вы все равно разбираете ввод как строку, и в этом случае все, что вам нужно сделать, это объединить текст перед синтаксическим анализом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...