Концептуальные вопросы - текстовое поле с выборочным вводом - PullRequest
0 голосов
/ 29 января 2012

У меня есть несколько концептуальных вопросов, на которые я бы хотел ответить.

Я собираюсь создать приложение для Android, в котором текстовые поля могут иметь только определенные типы входных данных.Например, десятичные числа просты, вы используете текстовое поле Числа.Однако, если бы я использовал систему шестнадцатеричной нумерации в качестве примера, как я могу заставить мой ящик отклонять любые вводимые данные, которые не являются допустимыми шестнадцатеричными символами (0-F)?Эта концепция может быть распространена на восьмеричные и двоичные системы нумерации.В идеале клавиатура, которая появляется при щелчке поля, отображает только допустимые символы для этого конкретного поля, но я не уверен, возможно ли это.

Спасибо!

К.

Ответы [ 2 ]

1 голос
/ 29 января 2012

Перезаписать прослушиватель текстового поля и, нажав клавишу, получить введенный текст, выполнить необходимые условия. Если это пройдет, это приемлемо, если вы не предупреждаете пользователя ..

ПРИМЕР слушателя:

tv = (TextView)findViewById(R.id.charCounts);
textMessage = (EditText)findViewById(R.id.textMessage);
textMessage.addTextChangedListener(new TextWatcher(){
    public void afterTextChanged(Editable s) {
    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after){}
    public void onTextChanged(CharSequence s, int start, int before, int count){
        //Check if text is hexadecimal
    }
});
0 голосов
/ 29 января 2012

Изучите использование фильтра

http://developer.android.com/reference/android/widget/Filter.html

...