我有一个输入字段,用户必须输入他的姓和姓。 现在我想检查是否有一个空白,它既不在输入的开头也不在输入的末尾。仅在这种情况下,启用了一个按钮。
检查空格很简单:
private EditText input;
input = (EditText) findViewById(R.id.input);
if(input.getText().toString().contains(" ")) {
button.setEnabled(true);
}
但是如何确保空格不在输入的开头或结尾?
感谢您的帮助
答案 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) == " "{
...
}
我希望这会有所帮助