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

时间:2016-07-09 17:52:00

标签: java android string

我有一个输入字段,用户必须输入他的姓和姓。 现在我想检查是否有一个空白,它既不在输入的开头也不在输入的末尾。仅在这种情况下,启用了一个按钮。

检查空格很简单:

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

if(input.getText().toString().contains(" ")) {
   button.setEnabled(true);
}

但是如何确保空格不在输入的开头或结尾?

感谢您的帮助

5 个答案:

答案 0 :(得分:3)

试试这个:

<强> EDITED

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

或者

  if ( !(Character.isWhitespace(str.charAt(0)) && Character.isWhitespace(str.charAt(str.length()-1)) ) )
     button.setEnabled(true);

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

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

答案 1 :(得分:0)

你需要做这样的事情

<强>码

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");

我希望这有助于你

答案 2 :(得分:0)

试试这个。

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

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

答案 3 :(得分:0)

    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(" ")
           )
           ;
       }
    });

答案 4 :(得分:-1)

result = input.getText().toString();
if(result.subString(0,1) == " "){
...
   }
if(result.substring(result.length() - 0) == " "{
...
}

我希望这会有所帮助