如何设置输入过滤器以仅在Android上接受BINARY字符(0或1)?

时间:2016-07-20 23:33:06

标签: android filter

这是我当前的代码,它只允许整数。我想限制用户更多只允许0和1。我希望它像!Character.isBinary(..)一样简单,但它不是。如何操作开始和结束参数来完成此操作?

final InputFilter binaryOnlyFilter = new InputFilter() {
        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            for ( int i = start; i < end; i++) {
                if (!Character.isDigit(source.charAt(i)) && source.charAt(i) != ' ') {
                    return "";
                }
            }
            return null;
        }
};

1 个答案:

答案 0 :(得分:2)

1)如果您只想要0和1,请在编辑文本中添加android:digits="01"

2)如果你想添加一些空间,那么试试这个答案

stackoverflow.com/a/26057532/1852441

在那个答案中,只需替换

if(cs.toString().matches("[a-zA-Z ]+")){ 

if(cs.toString().matches("[01 ]+")){