4

以下のコードでは、部分文字列を含むすべての文字を置き換えています (編集テキストに 4 つの a が含まれている場合、すべての a はここで削除されます)。カーソル位置は edittext フィールドの最初の文字の前に移動します。

//getting cursor position 
int end = t1.getSelectionEnd();
//getting the selected Text
String selectedStr = t1.getText().toString().substring(end-1, end);
//replacing the selected text with empty String and setting it to EditText
t1.setText(t1.getText().toString().replace(selectedStr, ""));

カーソル位置を変更せずに、カーソル位置の前の1文字をクリアするにはどうすればよいですか(カーソルが編集テキストの中央にある場合)。

4

3 に答える 3

4

遅いと思いますが、まだです。

SpannableStringBuilder を使用できます。

//getting cursor position 
int end = t1.getSelectionEnd();
//getting the selected Text
SpannableStringBuilder selectedStr=new SpannableStringBuilder(t1.getText());
//replacing the selected text with empty String and setting it to EditText
selectedStr.replace(end-1, end, "");
edittext1.setText(selectedStr);
于 2014-10-20T11:43:54.263 に答える