无法在Android上滚动AutoCompleteTextView的下拉列表

3
我在AlertDialog上有一个AutoCompleteTextView。 建议的下拉列表被键盘部分遮盖(参见屏幕截图)。 结果是我无法滚动列表。
我已经成功地将对话框移动到屏幕顶部以获得更多空间。 当将android: dropDownHeight设置为小值(如150dp)时,下拉列表不再被键盘覆盖,并且滚动正常工作,但是将dropDownHeight设置为固定值似乎不是一个好的解决方案。 我想避免使用“魔术数字”,否则我不能保证它适用于所有屏幕。
我该如何解决这个问题?

你怎么知道它被键盘覆盖了? - pskink
@pskink,您可以在屏幕截图上看到它。正如我所提到的,我将“dropDownHeight”设置为较小的值,以便完整的下拉列表可见。没有其他视图可以覆盖它。 - kaolick
“Birnen” 不是最后一项吗? - pskink
2个回答

8

我终于让它工作了。这行代码对我有用。这样下拉列表就总是适合键盘。

alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

SOFT_INPUT_ADJUST_RESIZE 已经被弃用。 - James121
它对我不起作用。 - PhongBM

0

这是因为您的应用程序窗口没有被正确地调整大小。尝试在此活动的清单中添加以下代码:android:windowSoftInputMode="adjustResize"


也许警告对话框的样式比你需要的多。你尝试在DialogFragment上使用过吗? - droidpl
不,还没有。我会尝试一下并告诉你。 - kaolick
尝试使用DialogFragment,但这也没有起作用。 - kaolick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接