我在我的应用中使用AutoCompleteTextView
使用自定义适配器,它在纵向模式下工作正常。在水平模式下,软件键盘占据屏幕和文本视图的大部分,使用覆盖按钮而不是适配器提供的视图。
我找不到关于它如何在幕后工作的明确文档。似乎在横向模式下AutoCompleteTextView
绕过了适配器的getView()
方法,使用getItem()
进行了一些脏工作并使用原始字符串呈现项本身。
为了让事情变得更糟,似乎在AutoCompleteTextView
中可以准确地呈现两个自动完成提示列表:同时标准下拉列表和覆盖按钮
(如果我们将imeOptions设置为flagNoExtractUi
以防止AutoCompleteTextView
在风景中扩展,则会很明显。
我想在两种情况下提供自己的视图 - 但我设法只为目前为止的下拉菜单做了。是否为覆盖列表提供自定义视图的任何更改?
我很抱歉,但由于排名较低,我无法发布图片。如果有人需要,我可以寄给他们。
答案 0 :(得分:0)
我自己刚刚遇到过这个问题。就像你说的那样,在Landscape中,TextView基于getItem()
的结果自动完成提示。在这种情况下,我真的没有看到提供除文本之外的任何内容的方法,但是在横向上显示正确文本的简单解决方案是覆盖基于提示的对象的toString()
。 / p>
例如,在我的场景中,我使用Contact对象列表来填充我的自动完成提示,因此我在Contact类中重写toString()
以使其显示“FirstName LastName”而不是原始对象表示比如“联系@ a2a6d4d3a5。”