2014-01-08 63 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();