我想在 EditText 的文本开头添加一个空格。因此,即使用户按下删除按钮,开头仍有空格。如何检查第一个字符是否为空格,如果不是,则在开头自动添加空格?
问问题
3014 次
2 回答
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);
}
}
});
于 2012-08-21T03:27:24.877 回答
1
您可以使用Class 的startWith()
方法String
来检查您的要求。
String str = editText.getText().toString();
if ( !str.startsWith ( " " ) )
{
// add space
editText.getText().insert(0, " ");
}
您需要在 KeyPress Event 中检查上述情况。
于 2012-08-21T03:27:09.353 回答