2010-12-05 8 views
0

소프트 키보드에서 onKey 이벤트를 잡으려고합니다. 그러나 onKey 이벤트가 발생하는 키는 거의 없습니다 (Delete, back 등). 일반 문자가 아닙니다. 아무도 몰라 왜?넥서스 하나의 소프트 키보드에 대해 Android onKey가 실행되지 않습니다.

+0

TextView에서 이것을 실행 하시겠습니까? 커서가 TextView에 있으면 이벤트를 트리거하지 않습니다. 등, 집 등은 특별한 경우입니다. – glr

+0

그 두 번째 gyller, EditText를 사용하는 경우 TextWatcher 인터페이스로 논리를 구현해보십시오. – Shardul

+0

고마워요. TextWatcher 접근 방식을 시도합니다 – oriharel

답변

2

EditText보기에서 일반적인 키 입력을 캡처하려는 경우 다음 방법을 사용하여 키 누르기를 수신해야합니다. onTextChanged 메서드는 각 키 누르기에서 실행되므로 필요한 모든 작업을 수행 할 수 있습니다.

mEditText.addTextChangedListener(new TextWatcher(){ 
    @Override 
    public void afterTextChanged(Editable editable){    
    } 
    @Override 
    public void beforeTextChanged(CharSequence text, int start, int count, int after){    
    } 
    @Override 
    public void onTextChanged(CharSequence arg0, int start, int before, int count) { 
     //doStuff    
    } 
}); 
+0

고마워요. TextWatcher 접근법을 시도합니다 – oriharel

+0

Stackoverflow 오류를 일으킬 TextWatcher에서 EditText # setText 메소드를 실행할 수 없습니다. –