现象:打开浏览器,鼠标点击地址栏,弹出输入框和软键盘( Latin 输入法),当鼠标移动时,输入框和软键盘会消失

 

解决:
在浏览器地址栏输入网址时,会有个 AutoCompleteTextView 的列表。
持续输入时,列表有时会消失。这时,移动鼠标会导致搜索栏消失,从而导致输入法关闭。

这里做了个 workaround
输入时,强制 AutoCompleteTextView 的列表一直存在,这样搜索栏不消失,输入法也不会关闭。

AutoCompleteTextView.java

@@ -1022,7 +1022,10 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe

 

 

                 showDropDown();
             }
         } else if (!mDropDownAlwaysVisible) {
            dismissDropDown();
            if (hasFocus() && hasWindowFocus()) {

                showDropDown();

            }
         }
     }

 

framework/base/core/java/android/widget/AutoCompleteTextView.java 1022 行左右修改以上代码(添加 if 判断),即可解决。