我在AutoCompleteTextView内使用DialogFragment。当它显示一个下拉列表时,键盘会快速隐藏并再次显示,看起来像是在眨眼。

作为可能的解决方案,我发现这是由于

AutoCompleteTextView {

    showDropDown(){
       mPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NEEDED);
    }
}


因此以这种方式覆盖showDropDown()可以消除闪烁

showDropDown(){
    super.showDropDown()
    mPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_FROM_FOCUSABLE)
    mPopup.show()
}


但是它会在键盘上方显示下拉菜单并阻止用户输入。也许有人知道更好的解决方案?

最佳答案

您不会相信这一点,但是我很确定12月5日android Q补丁修复了此问题。今天早上我得到了更新,我希望因为这是一个相对较新的问题,他们可能已经解决了。原来他们做到了!使用AutocompleteTextView时,键盘不再闪烁。

10-04 19:41