1

我想在 EditText 的文本开头添加一个空格。因此,即使用户按下删除按钮,开头仍有空格。如何检查第一个字符是否为空格,如果不是,则在开头自动添加空格?

4

2 回答 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 回答