2014-01-08 57 views
0

当按住按钮时,如何按一个按钮逐个删除编辑文本的当前文本,并逐个删除文本。类似于退格按钮的功能。连续删除按钮上保留的EditText的内容Android

发送退格事件不适用于我的需要,因为它仅在键盘处于活动状态时才起作用。我没有使用任何键盘。

回答

0

您可以发送BACKSPACEKEY EVENT到您的EditText。

这里是你想要的样品Send backspace key event to edit text

编辑

手动你可以像这样

  • edittext得到字符串。

  • 删除最后一个索引处的字符。为此,您可以使用String类的方法subString

递归执行此过程,直到您的字符串变为空。

+0

这只能在我专注于编辑文本和键盘显示...我用这在一个自定义拨号应用程序。所以我创建了我自己的数字按钮,所以我不使用编辑文本的键盘 – jyce1492

1

你必须使用计时器this.It连续检查按钮状态按或不。像:

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); 

就取消计时器中的onDestroy()方法,像:

_timer.cancel();