2014-01-08 3 views
0

버튼을 누른 상태에서 버튼을 누른 상태에서 텍스트를 하나씩 계속 삭제할 때 편집 텍스트의 현재 텍스트를 하나씩 삭제하려면 어떻게해야합니까? 백 스페이스 버튼과 비슷합니다.button hold에서 EditText의 내용을 계속 삭제합니다. Android

키보드가 활성화되어있을 때만 작동하기 때문에 백 스페이스 이벤트 보내기는 내 필요에 따라 작동하지 않습니다. 나는 키보드를 사용하지 않는다.

답변

0

EditText에 백 스페이스 키 이벤트를 보낼 수 있습니다.

다음은 원하는 샘플입니다. Send backspace key event to edit text. 이

  • edittext에서 문자열을 가져처럼

    편집 수동으로 수행 할 수 있습니다.

  • 마지막 색인에서 숯을 삭제하십시오. 이 경우 String 클래스의 subString 메소드를 사용할 수 있습니다.

문자열이 비워 질 때까지 반복적으로이 과정을 수행하십시오.

+0

이 단지 작품을 내가 편집 텍스트와 키보드가 표시되고에 초점을 ... 나는 이것을 사용하고 사용자 정의 다이얼 응용 프로그램에서 .so 나는 숫자에 대한 고유 한 단추를 만들었으므로 텍스트 편집 키보드를 사용하지 않습니다. – jyce1492

1

이 타이머를 사용해야합니다. 누르고있는 버튼 상태를 계속 확인합니다. 마찬가지로 :

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