소프트 키보드에서 onKey 이벤트를 잡으려고합니다. 그러나 onKey 이벤트가 발생하는 키는 거의 없습니다 (Delete, back 등). 일반 문자가 아닙니다. 아무도 몰라 왜?넥서스 하나의 소프트 키보드에 대해 Android onKey가 실행되지 않습니다.
0
A
답변
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 메소드를 실행할 수 없습니다. –
TextView에서 이것을 실행 하시겠습니까? 커서가 TextView에 있으면 이벤트를 트리거하지 않습니다. 등, 집 등은 특별한 경우입니다. – glr
그 두 번째 gyller, EditText를 사용하는 경우 TextWatcher 인터페이스로 논리를 구현해보십시오. – Shardul
고마워요. TextWatcher 접근 방식을 시도합니다 – oriharel