2012-07-30 6 views
5

내 응용 프로그램에서 AutoCompleteTextView을 사용자 지정 어댑터로 사용하고 있으며 세로 모드에서 완벽하게 작동합니다. 그러나 수평 모드에서 소프트웨어 키보드는 대부분의 화면을 차지하고 텍스트보기는 어댑터가 제공하는보기 대신 오버레이 단추를 사용합니다.가로 모드의 AutoCompleteTextView 힌트

내가 어떻게 뒤에서 작동하는지 명확한 문서를 찾을 수 없습니다. 가로 모드 AutoCompleteTextView이 어댑터의 getView() 메소드를 우회하는 것으로 보입니다. 더티는 getItem()을 사용하여 작동하고 항목 자체를 원시 문자열로 렌더링합니다.

AutoCompleteTextView에 accualy 두 자동 완성 힌트의 목록을 제시 것으로 보인다 설상가상으로 (우리가 풍경에 확대 AutoCompleteTextView을 방지하기 위해 flagNoExtractUi에 대해서는 imeOptions을 설정하면이 잘 볼 수) 동시에 표준 드롭 및 오버레이 버튼을 .

두 상황 모두 내 자신의보기를 제공하고 싶습니다 -하지만 지금까지 드롭 다운 메뉴에 대해서만 관리했습니다. 오버레이 된 목록에 대한 사용자 정의보기를 제공하기위한 변경 사항은 무엇입니까?

죄송 합니다만 아직 낮은 순위로 인해 이미지를 게시 할 수 없습니다. 누구든지 그들을 필요로한다면 나는 그들을 보낼 수 있습니다.

+0

이 도움이 될 수 있습니까? http://stackoverflow.com/questions/29046302/how-to-implement-autocompletetextview-with-listview –

답변

0

방금이 문제가 발생했습니다. 말했듯이, Landscape에서 TextView는 getItem()의 결과에 대한 자동 완성 힌트를 기반으로합니다. 이 시나리오에서 텍스트 이외의 다른 것을 제공하는 방법은 실제로 없지만 힌트를 기반으로하는 개체의 경우 toString()을 덮어 쓰면 가로로 표시 할 올바른 텍스트를 얻는 간단한 방법이 있습니다.

예를 들어, 내 시나리오에서 연락처 개체 목록을 사용하여 자동 완성 힌트를 채우므로 내 연락처 클래스에서 toString()을 오버로드하여 "연락처"와 같은 원시 개체 표현 대신 "성 성"을 표시하도록했습니다. @ a2a6d4d3a5. "

+0

[더 나은 해결책]이 있습니다 (http://stackoverflow.com/a/12934794/2469901) toString()이 작동하는 방식을 변경하는 것보다 훨씬 낫습니다.이 방식은이 시나리오와 다르게 구현할 수 있습니다. – Skytile

관련 문제