2014-04-23 1 views
0

Хотя это не ракетостроение, я не хочу изобретать велосипед. Я работаю с Android, подключенным через USB-аксессуар к аппаратным устройствам. HW имеет значения, которые могут быть установлены пользовательским интерфейсом Android. Многие из этих значений составляют 8 бит. Поэтому определенные байтовые поля могут быть отредактированы пользователем, и я хочу легко получить их вход и проверить его. Итак, в основном шестнадцатеричный ввод 0x00 - 0xff Просто интересно, это уже существует где-то там? Интернет не дает мне многого, поэтому он выглядит как начинающий с нуля.Пользовательский ввод пользователя с шестнадцатеричным байтом

+0

Было бы неплохо согласиться с этим ответом, если вы сочтете это полезным или иным образом прокомментируйте его! – caspase

ответ

0

Вы можете использовать обычный NumberPicker с обычаем NumberPicker.Formatter для форматирования значений в виде шестнадцатеричных цифр:

public class MyFormatter extends NumberPicker.Formatter { 
    @Override 
    public String format(int value) { 
     if(value < 0x10) { 
      return "0" + Integer.toHexString(value); 
     } 
     return Integer.toHexString(value); 
    } 

}

, а затем использовать:

... 

myNumberPicker.setFormatter(new MyFormatter()); 
// use this to disable keyboard input 
myNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS); 

... 

Скриншот NumberPicker с гекса Formatter:

Screenshot

+0

Спасибо за эту информацию, но входные данные Android Number, похоже, ограничены входом Десятичный. На данный момент я использовал клавиатуру. – jwhitmore

+0

Я обновил свой ответ, чтобы сделать его более ясным; мой метод не позволяет вводить значения с помощью клавиатуры (на самом деле это так, но это путает, так как клавиатура десятичная). – caspase

+0

В то время как NumberPicker будет работать, он просто не выглядит элегантным для выбора значения байта. Таким образом, диапазон составляет от 0 до 255. The Number Picker отлично работает для ограниченного диапазона, но для этого типа диапазона он нападает на меня как громоздкий механизм ввода. – jwhitmore