我想在EditText的文本开头添加一个空格。因此,即使用户按下删除按钮,开头仍有空格。如何检查第一个字符是否为空格,如果不是,则在开头自动添加空格?
答案 0 :(得分:2)
您可以使用TextWatcher,通过覆盖onTextChanged()并检查该空格是否是EditText字符串中的第一个字符来实现。如果没有添加它。
mEditText.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
//do stuff
String mStr = mEditText.getText().toString();
if(mStr.charAt(0) != ' '){
mEditText.setText(' ' + mStr);
}
}
});
答案 1 :(得分:1)
您可以使用startWith()
类的String
方法来检查您的要求。
String str = editText.getText().toString();
if ( !str.startsWith ( " " ) )
{
// add space
editText.getText().insert(0, " ");
}
您需要在KeyPress事件中检查上述情况。