之前在做一个放在listview中的Edittext自定义输入框时,因为我的输入框设置了setRawInputType(EditorInfo.TYPE_CLASS_NUMBER),然后在切换输入框焦点时会出现先中文键盘,再变成数字键盘的问题。
主要原因是在方法中调用了adapter的notifyDataSetChanged()方法,在listview的UI刷新过程中,会导致页面丢失焦点,软键盘重置回归了中文键盘,然后再进入setRawInputType方法,所以会出现上述情况,我这里的解决方法是自己写了一个方法循环遍历了listview所有的子Item,挨个进行数据更新。