Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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
Java Android EditText:检查空格是否不在开头或结尾_Java_Android_String - Fatal编程技术网

Java Android EditText:检查空格是否不在开头或结尾

Java Android EditText:检查空格是否不在开头或结尾,java,android,string,Java,Android,String,我有一个输入字段,用户必须在其中输入他的名字和姓氏。 现在我想检查输入的开头和结尾是否有空白。只有在这种情况下,才会启用按钮 检查空白很容易: private EditText input; input = (EditText) findViewById(R.id.input); if(input.getText().toString().contains(" ")) { button.setEnabled(true); } 但是如何确保空白不在输入的开头或结尾 感谢您的帮助试试这

我有一个输入字段,用户必须在其中输入他的名字和姓氏。 现在我想检查输入的开头和结尾是否有空白。只有在这种情况下,才会启用按钮

检查空白很容易:

private EditText input;
input = (EditText) findViewById(R.id.input);  

if(input.getText().toString().contains(" ")) {
   button.setEnabled(true);
}
但是如何确保空白不在输入的开头或结尾

感谢您的帮助

试试这个:

已编辑

String str = input.getText().toString();
if (str.contains(" ") && (!str.startsWith(" ") && !str.endsWith(" ")) )
    button.setEnabled(true);

您还可以使用
trim()
contains
的组合:

if(str.trim().contains(" ")) 
  button.setEnabled(true);

我希望这会有所帮助

您需要这样做

代码

if(input.getText().toString().substring(0,1).contains(" "))
    System.out.println("failed");
else if((input.getText().substring((input.getText().length() -1),(input.getText().toString().length())).contains(" ")))
    System.out.println("failed");
else
    System.out.println("success");
我希望这对您有所帮助

试试这个

String input = textview.getText().toString();

if(input.subString(1,input.length()-1).contains(" "))
    button.setEnabled(false);
else
    button.setEnabled(true);

对于那些投票否决我答案的人。你能解释一下你的原因吗?这并没有真正的帮助,因为这段代码只是检查是否只有空格。这只是修剪了空格,现在可以用了,但如果(str.trim().contains(“”))所以你去掉了开始和结束空格,检查中间的空间:“我现在测试它。”
trim()。但是如果你使用
.length()-1
它会在最后一个字符之前获得字符。因为我不知道你的意图或者我是否错了,我不打算编辑这篇文章,而是对它进行向下投票。当我得到通知或你修复它时,我将删除否决票:)我测试了这个,对我来说效果很好。您也可以测试它:)当我编写它时,它是JTextField,不需要在getText之后串入方法。但是谢谢。
if(input.getText().toString().substring(0,1).contains(" "))
    System.out.println("failed");
else if((input.getText().substring((input.getText().length() -1),(input.getText().toString().length())).contains(" ")))
    System.out.println("failed");
else
    System.out.println("success");
String input = textview.getText().toString();

if(input.subString(1,input.length()-1).contains(" "))
    button.setEnabled(false);
else
    button.setEnabled(true);
    eingabe.addTextChangedListener(new TextWatcher(){
       @Override
       public void onTextChanged(CharSequence s,int start,int before,int count){ }
       @Override
        public void beforeTextChanged(CharSequence s,int start,int count,int after){ }
       @Override
        public void afterTextChanged(Editable s){
           weiterFertig.setEnabled(
                   s.length()>0&&!s.toString().startsWith(" ")&&!s.toString().endsWith(" ")&&s.toString().contains(" ")
           )
           ;
       }
    });