2010-03-17 6 views
0

EditText 위젯의 텍스트 길이를 제한하고 싶습니다. 제한 길이보다 더 많은 문자를 입력하면 표시 할 수없는 종류의 경고 팝업을 표시하고 싶습니다. 팝업.키 이벤트 후크 방법

입력하는 동안 팝업을 표시 할 수 없다는 것이 문제입니다. 아마도 많은 사람들이 OnKeyListener 또는 OnKeyDown을 활용하는 방법을 생각합니다. 하지만 단어가 작성 중일 때 아무 것도 OnKeyListener 또는 OnKeyDown에 들어 가지 않습니다. 그래서 원하는 경우 팝업을 표시 할 수 없습니다.

이 문제를 해결하기 위해 스마트 생각을 가지고 사람이 있습니까?

+1

마지막 날에이 사이트에 총 3 개의 질문을하셨습니다. 그것들은 모두 똑같은 질문이며, 조금 다르게 말한 것입니다. 이 작업을 삼가하십시오. 원래 질문에 추가 정보를 제공해야하는 경우 편집하십시오. –

답변

1

위젯에서 포커스를 제거하고 메시지를 표시 할 수 있어야합니다.

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0); 
0

OnKeyboardActionListener는 소프트웨어 키보드를 구현하기위한 것입니다. 소프트웨어 키보드를 사용할 때이 발견으로

OnKeyListener onKeyDown에가 호출되지 않습니다. 많은 안드로이드 기기들조차 가지고 있지 않은 하드웨어 키보드를 사용할 때만 호출됩니다.

키 이벤트가 EditText 영역에서 발생하는 경우 키 이벤트를 캡처하는 것으로 가정합니다. 이 경우 소프트웨어 키보드 입력과 하드웨어 키보드 입력을 모두 처리하기 위해 addTextChangedListener() 메소드를 통해 TextWatcher을 등록해야합니다.

Nexus One과 같이 Android 2.1 이상이 설치된 휴대 전화에서는 텍스트를 입력하는 대신 음성 인식을 사용하여 텍스트를 EditText에 입력 할 수 있습니다. 그들이 완전한 어휘 나 심지어 완전한 문장을 얻을 수있는 것을 한 번에 모두 입력했습니다. 따라서 내용이 변경되면 EditText 필드의 전체 내용을 확인해야합니다.