This question already has an answer here:
-
Send backspace key event to edit text
1 answer
How do I delete one by one the current text of edit text when I press a button and continuously delete the text one by one when I hold the press of button. Similar to what a backspace button does.
Sending a backspace event won't work on my needs because it will only work if the keyboard is active. Im not using any keyboards.
You have to use the Timer for this.It continuously checks the button state pressed or not. Like:
private Timer _timer;
final Button _button = (Button) findViewById(R.id.button1);
final EditText _editText = (EditText) findViewById(R.id.editText1);
_timer = new Timer();
TimerTask _task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Editable _editable = _editText.getText();
int length = _editable.length();
_editText.setSelection(length);
if (_button.isPressed() && length > 0) {
_editable.delete(length - 1, length);
}
}
});
}
};
_timer.schedule(_task, 0, 60);
Just cancel the Timer in onDestroy() method, Like:
_timer.cancel();
You can send a BACKSPACEKEY EVENT to your EditText.
Here is the sample for what you want Send backspace key event to edit text.
Edit
Manually you can do like this
Recursively do this process until your String becomes empty.