0

我想回答一个概念问题。

我的目标是制作一个 android 应用程序,其中文本框只能具有特定类型的输入。例如,十进制数字很简单,您可以使用数字文本框。但是,如果我以十六进制编号系统为例,我如何让我的框拒绝任何尝试输入但不是有效的十六进制字符 (0-F) 的输入?这个概念可以扩展到八进制和二进制编号系统。理想情况下,单击框时出现的键盘只会显示该特定框的有效字符,但我不确定这是否可能。

谢谢!

K。

4

2 回答 2

1

覆盖文本框侦听器并在击键时,获取输入的文本,运行您想要的条件。如果通过,则可以接受,如果不通过,则警告用户..

监听器示例:

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
    }
});
于 2012-01-28T23:41:00.710 回答
0

考虑使用过滤器

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

于 2012-01-28T23:41:37.463 回答