1

EditTextのテキストの先頭にスペースを追加したいと思います。そのため、ユーザーが削除ボタンを押しても、最初にスペースがあります。最初の文字がスペースであるかどうかを確認し、そうでない場合は、先頭にスペースを自動的に追加するにはどうすればよいですか?

4

2 に答える 2

2

onTextChanged()をオーバーライドし、スペースがEditText文字列の最初の文字であるかどうかを確認することにより、TextWatcherでこれを行うことができます。そして、そうでない場合はそれを追加します。

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

ClassstartWith()のメソッドを使用して、要件を確認できます。String

String str = editText.getText().toString(); 

if ( !str.startsWith ( " " ) )
{
    // add space
    editText.getText().insert(0, " ");
} 

KeyPressイベントで上記の状態を確認する必要があります。

于 2012-08-21T03:27:09.353 に答える