一、最近遇到一个关于EditText的问题:在键盘没有收起的时候 有时滑动(或者点击)Viewpaper到无EditText的pager,再返回后点击TextEdit不能弹出键盘。
针对此问题,对EditText的重新find也不行。最后百般搜索,找到关于此项问题的最终解决办法——重写EditText的touch事件,点击后清除焦点。
重写EditText控件,对其touch事件进行重写:
@Override
public boolean onTouchEvent(MotionEvent event) {
if(MotionEvent.ACTION_DOWN == event.getAction()) {
clearFocus(); //触摸按下事件发生时 清除焦点
}
return super.onTouchEvent(event);
}
二、EditText的监视TextWatcher:
如果是viewPager多个页面有EditText,滑动页面回来TextWatcher会有多个:原因是每次滑动页面回来都要
edit.addTextChangedListener(watcher);导致的。
解决办法只添加监视addTextChangedListener一次。