2010-01-01 5 views
8

ListView가 있으며 하드웨어 키보드를 사용하여 항목을 필터링 할 수 있습니다. 그러나 하드웨어 키보드가없고 가상 키보드가없는 전화기의 경우 어떻게해야합니까? 가상 키보드가 눌려 졌을 때 버튼을 추가하는 방법이 있습니까?가상 키보드를 표시하는 버튼?

답변

28

아래 코드를 사용하여 온 스크린 키보드를 토글 할 수있었습니다. 나는 이것이 누군가에게 유용하기를 희망한다.

InputMethodManager inputMgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
inputMgr.toggleSoftInput(0, 0); 
+0

감사합니다 somuch 그것이 잘 작동했음을 표시합니다 ..... – praveenb

+0

잘 완료 됐습니다 – Sandy

+0

나는 키보드 만 사용하고 다른 것은 텍스트 쓰기 필드가 없습니다. ??? – marjanbaz

3

텍스트 입력 상자 (EditText)를 사용하는 것이 좋습니다. 그렇게하면 사용자는 이론상 두 개 이상의 문자를 입력하여 검색 범위를 좁힐 수 있습니다 (그리고 입력 한 내용을 볼 수 있음). 온 스크린 키보드를 표시하려면 텍스트 상자를 터치해야합니다. 이 상자의 이름이 "검색"또는 이와 비슷한 경우 사용자가 버튼을보다 직관적으로 사용할 수 있다고 생각합니다.

+0

올바른 방향으로 나를 지적 해 주신 덕분에 – Tyler

2

하드웨어 버튼을 누르고 있으면 다른 사람이 참조를 제공 할 수있는 규칙이 있습니다 (—). 하드웨어 버튼을 누르면 키보드가 나타납니다.

이것은 외관상 장치에 따라 다르지만. G1에서 작동한다는 것을 알고 있지만 내 HTC Hero에서는 홈 화면에서 작동하지 않습니다 (HTC는 버튼을 들고있는 것처럼 몇 가지 바로 가기를 엉망으로 만든 것 같습니다).

어쨌든 ConnectBot과 같은 다른 앱을 알고 가상 키보드를 사용하기 위해이 규칙을 적용합니다.

+2

메뉴를 길게 누르면 당시 소프트 키보드에 대해 몰랐던 응용 프로그램의 최후의 호환성을위한 것입니다. 오늘 작성된 응용 프로그램은이 응용 프로그램에 의존해서는 안됩니다. 그것은 호환성 모드이기 때문에 사용자가 기대하는 것과 다른 상태로 키보드를 올려 놓습니다. 예를 들어 사용자는 UI를 탐색하는 동안 일반 자동 닫기 규칙을 따르지 않고 명시 적으로이를 해제해야합니다. – hackbod

+0

해명 해 주셔서 감사합니다 (안드로이드에서!))). 그렇다면 원래 질문에 대해 권장되는 UI 솔루션은 무엇입니까? 명시 적 검색/필터 텍스트 상자 bdls 언급? –

+0

EditText 상자를 추가하는 것이 효과가있는 것 같습니다. 좋은 튜토리얼을 제공하는 http://stackoverflow.com/questions/1737009/answer-to-making-a-nice-looking-listview-filter-on-android (첫 번째 답변)에서 질문을 찾았습니다. . – Tyler

0

메뉴 버튼을 누르고 있으면 Android 4.0 (IceCreamSandwich)에서 더 이상 작동하지 않는 것 같습니다. 사용자가 목록을 더 이상 필터링 할 방법이없고 많은 긴 목록을 통해 안구 - grep을해야하는 많은 응용 프로그램에서 필터링 가능한 목록을 분리합니다.

관련 문제