Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上设置一个只接受二进制字符(0或1)的输入过滤器?_Android_Filter - Fatal编程技术网

如何在Android上设置一个只接受二进制字符(0或1)的输入过滤器?

如何在Android上设置一个只接受二进制字符(0或1)的输入过滤器?,android,filter,Android,Filter,这是我当前的代码,它只允许整数。我想进一步限制用户只允许0和1。我希望它像一样简单!Character.isBinary(..),但它不是。我如何操作开始和结束参数来实现这一点 final InputFilter binaryOnlyFilter = new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned de

这是我当前的代码,它只允许整数。我想进一步限制用户只允许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;
        }
};
final InputFilter binaryOnlyFilter=新InputFilter(){
@凌驾
公共CharSequence筛选器(CharSequence源、int开始、int结束、跨区目标、int开始、int结束){
for(int i=start;i
1)如果只需要0和1,请在编辑文本中添加
android:digits=“01”

2) 如果您还想添加一些空间,请尝试以下答案

在这个答案中,只需替换

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

1) 如果只需要0和1,请在编辑文本中添加
android:digits=“01”

2) 如果您还想添加一些空间,请尝试以下答案

在这个答案中,只需替换

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


将此添加到您的editText
android:digits=“01”
也包括空格如何?在这种情况下,尝试此答案只需将
if(cs.toString().matches([a-zA-Z]+”){
替换为
if(cs.toString().matches([01]+”){
这非常有效!谢谢!(如果您添加注释作为答案,我可以这样标记)将此添加到您的editText
android:digits=“01”
也包括空格如何?在这种情况下,尝试此答案只需将
if(cs.toString().matches([a-zA-Z]+”){
替换为
if(cs.toString().matches([01]+”){
这非常有效!谢谢!(如果您添加注释作为答案,我可以这样标记)