原文:http://blog.163.com/benben_long/blog/static/199458243201501902450994/
我在写聊天输入框时,当点击表情,语音等按钮时,需要将软键盘隐藏掉,于是我就给Edittext设置了点击事件(onClick),开始感觉还行,但是有时点击事件没有响应,需要再次点击才有效果,于是就在网上查了一下改用监听onTouch事件。
如当焦点在别的控件上时,只能先点击获取焦点,第二次点击才会响应,解决办法改用setOnTouchListener监听,
android.view.View下的OnTouchListener接口是只要触摸(touch)状态改变,就会触发该事件。
代码如下:
chatSendMessage.setOnTouchListener(new View.OnTouchListener() { //按住和松开的标识 int touch_flag=0; @Override public boolean onTouch(View v, MotionEvent event) { touch_flag++; if(touch_flag==2){ touch_flag=0; //自己的业务emojiconMenuContainer.setVisibility(View.GONE);} return false; }});