3

다음은 내 응용 프로그램의 스크린 샷입니다. 검색 창을 클릭하면 소프트 키보드가 자동으로 팝업됩니다. 괜찮습니다.하지만 '메뉴'버튼을 누르면 메뉴가 소프트 키보드 상단에 나타납니다.키보드와 메뉴가 함께 표시되지 않도록하려면 어떻게해야합니까?

어떻게하면 포커스가있는 경우 SearchView을 표시하고 소프트 키보드를 숨기면 메뉴를 표시 할 수 있습니까? 나는 아마 의 onPrepareOptionsMenu 방법에있는 것을 확인하고 무언가를 할 필요가있다, 맞습니까?

내게 실제적인 해를 끼치 지 않지만, 이런 일이 발생할 때 사용자에게는보기 흉한 구현처럼 보입니다.

enter image description here

답변

0

당신은 searchView에서 getCurrentFocus() 메소드를 호출하거나 활동 onWindowFocusChanged(boolean hasWindowFocus)을 대체 할 수 있습니다.

해당 뷰가 searchview 인 경우,이 방법으로 키보드를 닫을 수 있습니다 :

InputMethodManager imm = (InputMethodManager)getSystemService(
    Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(m_edittext.getWindowToken(), 0); 
관련 문제