清除EditText中光标位置之前的单个字符

时间:2013-08-28 07:41:46

标签: android button clear cursor-position

使用下面的代码我将替换所有字符(如果我的edittext包含四个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, ""));

如何在不改变光标位置的情况下清除光标位置前的单个字符(如果我的光标位于edittext的中间)。

3 个答案:

答案 0 :(得分:3)

我认为它迟到但仍然。

您可以使用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);

答案 1 :(得分:1)

我用这个函数解决了:

int pos = editText.getSelectionStart();
if (pos > 0)
    String text = editText.getText().delete(pos - 1, pos).toString();

答案 2 :(得分:0)

完美的解决方案试试这个...... 无论您将光标置于何处,该值都将从该位置移除

with open('test_pic.jpg', 'a') as fin:
    fin.write(str(data_pic))
    fin.close()