安卓EditText有时点击后无法自动弹出键盘的解决办法;TextWatcher多次调用问题

来源:互联网 发布:战舰世界峰风数据 编辑:程序博客网 时间:2024/05/29 14:58

一、最近遇到一个关于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一次。

1 0